From 12cdf18a8053d18c59fcd34c52179a7281178e5a Mon Sep 17 00:00:00 2001 From: Andrew Niefer Date: Tue, 1 Mar 2005 18:09:42 +0000 Subject: [PATCH] fix bug 86827 --- .../core/parser/tests/ast2/AST2CPPTests.java | 18 ++++++++++++++++++ .../core/dom/parser/cpp/CPPVisitor.java | 3 ++- 2 files changed, 20 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 ecb1fff49e8..02fbe137034 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 @@ -2651,5 +2651,23 @@ public class AST2CPPTests extends AST2BaseTest { assertInstances( col, x, 2 ); assertInstances( col, f, 2 ); } + + public void testBug86827() throws Exception { + StringBuffer buffer = new StringBuffer(); + buffer.append("struct C { \n"); //$NON-NLS-1$ + buffer.append(" int c; \n"); //$NON-NLS-1$ + buffer.append(" C() : c(0) { } \n"); //$NON-NLS-1$ + buffer.append("}; \n"); //$NON-NLS-1$ + + IASTTranslationUnit tu = parse(buffer.toString(), ParserLanguage.CPP); + CPPNameCollector col = new CPPNameCollector(); + tu.getVisitor().visitTranslationUnit(col); + + IVariable c = (IVariable) col.getName(1).resolveBinding(); + + IASTName [] refs = tu.getReferences( c ); + assertEquals( refs.length, 1 ); + assertSame( refs[0], col.getName(3) ); + } } diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPVisitor.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPVisitor.java index 571ac90028e..394cbec2810 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPVisitor.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPVisitor.java @@ -985,7 +985,8 @@ public class CPPVisitor implements ICPPASTVisitor { prop == ICPPASTUsingDeclaration.NAME || prop == IASTFunctionCallExpression.FUNCTION_NAME || prop == ICPPASTUsingDeclaration.NAME || - prop == IASTNamedTypeSpecifier.NAME) + prop == IASTNamedTypeSpecifier.NAME || + prop == ICPPASTConstructorChainInitializer.MEMBER_ID) { break; }