From a5fafa34280bc3da6122d072fd31a67834433d8f Mon Sep 17 00:00:00 2001 From: Sergey Prigogin Date: Fri, 13 Sep 2013 16:46:23 -0700 Subject: Bug 417240 - Organize Includes inserts unnecessary include for the header declaring a base class --- .../ui/tests/refactoring/includes/BindingClassifierTest.java | 11 +++++++++++ .../internal/ui/refactoring/includes/BindingClassifier.java | 2 ++ 2 files changed, 13 insertions(+) diff --git a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/refactoring/includes/BindingClassifierTest.java b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/refactoring/includes/BindingClassifierTest.java index 9699da8e533..07a096ada9c 100644 --- a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/refactoring/includes/BindingClassifierTest.java +++ b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/refactoring/includes/BindingClassifierTest.java @@ -388,6 +388,17 @@ public class BindingClassifierTest extends OneSourceMultipleHeadersTestCase { assertDeclared("A"); } + // class A {}; + // class B : public A {}; + + // void test(B* b) { + // const A* a = b; + // } + public void testBaseClass() throws Exception { + assertDefined("B"); + assertDeclared(); + } + // struct A {}; // template struct B {}; // template> struct C {}; diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/includes/BindingClassifier.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/includes/BindingClassifier.java index 24beaa3353e..ba6a8d56149 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/includes/BindingClassifier.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/includes/BindingClassifier.java @@ -520,6 +520,8 @@ public class BindingClassifier { ICPPClassType[] bases = ClassTypeHelper.getAllBases((ICPPClassType) binding, fAst); for (ICPPClassType base : bases) { fProcessedDefinedBindings.add(base); + fBindingsToDefine.remove(base); + fBindingsToDeclare.remove(base); } } -- cgit v1.2.3