From 10298b85c7e88fc2b291451998e6ff647a27b092 Mon Sep 17 00:00:00 2001 From: Andrew Niefer Date: Tue, 26 Apr 2005 21:51:03 +0000 Subject: [PATCH] fix bug 91773: allow constructor chain initializers to look in the whole class scope for bindings --- .../cdt/core/parser/tests/ast2/AST2CPPTests.java | 16 ++++++++++++++++ .../core/dom/parser/cpp/CPPSemantics.java | 3 ++- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/ast2/AST2CPPTests.java b/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/ast2/AST2CPPTests.java index 6428ea95ee6..18c08508ec6 100644 --- a/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/ast2/AST2CPPTests.java +++ b/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/ast2/AST2CPPTests.java @@ -3736,5 +3736,21 @@ public class AST2CPPTests extends AST2BaseTest { IBinding r = col.getName(13).resolveBinding(); assertSame( d2, r ); } + + public void testBug91773() throws Exception { + StringBuffer buffer = new StringBuffer(); + buffer.append("class P { \n"); //$NON-NLS-1$ + buffer.append(" Point() : xCoord(0) {} \n"); //$NON-NLS-1$ + buffer.append(" int xCoord; \n"); //$NON-NLS-1$ + buffer.append("}; \n"); //$NON-NLS-1$ + + IASTTranslationUnit tu = parse( buffer.toString(), ParserLanguage.CPP ); //$NON-NLS-1$ + CPPNameCollector col = new CPPNameCollector(); + tu.accept( col ); + + ICPPField x = (ICPPField) col.getName(2).resolveBinding(); + ICPPField x2 = (ICPPField) col.getName(3).resolveBinding(); + assertSame( x, x2 ); + } } diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPSemantics.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPSemantics.java index a6d0f0b0e1d..2967a543dd6 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPSemantics.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPSemantics.java @@ -273,7 +273,8 @@ public class CPPSemantics { prop == ICPPASTUsingDirective.QUALIFIED_NAME || prop == ICPPASTUsingDeclaration.NAME || prop == IASTFunctionCallExpression.FUNCTION_NAME || - prop == IASTNamedTypeSpecifier.NAME ) + prop == IASTNamedTypeSpecifier.NAME || + prop == ICPPASTConstructorChainInitializer.MEMBER_ID ) { return true; }