diff --git a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/refactoring/extractfunction/ExtractFunctionRefactoringTest.java b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/refactoring/extractfunction/ExtractFunctionRefactoringTest.java index 471a174916f..37a62e9d84e 100644 --- a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/refactoring/extractfunction/ExtractFunctionRefactoringTest.java +++ b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/refactoring/extractfunction/ExtractFunctionRefactoringTest.java @@ -274,6 +274,41 @@ public class ExtractFunctionRefactoringTest extends RefactoringTestBase { assertRefactoringSuccess(); } + //main.cpp + //class A { + //public: + // explicit A(const char*); + // void m1() const; + // void m2() const; + //}; + // + //void main() { + // /*$*/A a(""); + // a.m1();/*$$*/ + // A b(a); + //} + //==================== + //class A { + //public: + // explicit A(const char*); + // void m1() const; + // void m2() const; + //}; + // + //A extracted() { + // A a(""); + // a.m1(); + // return a; + //} + // + //void main() { + // A a = extracted(); + // A b(a); + //} + public void testLocalVariableDeclaration_3() throws Exception { + assertRefactoringSuccess(); + } + //A.h //#ifndef A_H_ //#define A_H_ diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/corext/refactoring/code/flow/FlowAnalyzer.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/corext/refactoring/code/flow/FlowAnalyzer.java index dcaa03e2908..b5a8f2304af 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/corext/refactoring/code/flow/FlowAnalyzer.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/corext/refactoring/code/flow/FlowAnalyzer.java @@ -960,7 +960,7 @@ abstract class FlowAnalyzer extends ASTGenericVisitor { return leave((ICASTDesignatedInitializer) node); } else if (node instanceof IASTInitializerList) { return leave((ICPPASTConstructorChainInitializer) node); - } else if (node instanceof IASTInitializerList) { + } else if (node instanceof ICPPASTConstructorInitializer) { return leave((ICPPASTConstructorInitializer) node); } return PROCESS_SKIP;