From 78cc9ee282073eada44cfa1be8a24b28c14d59b2 Mon Sep 17 00:00:00 2001 From: John Camelon Date: Thu, 24 Jun 2004 18:51:49 +0000 Subject: [PATCH] Fixed https://bugs.eclipse.org/bugs/show_bug.cgi?id=68527 --- .../cdt/core/parser/tests/SelectionParseTest.java | 10 ++++++++++ .../org/eclipse/cdt/internal/core/parser/Parser.java | 3 +++ 2 files changed, 13 insertions(+) diff --git a/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/SelectionParseTest.java b/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/SelectionParseTest.java index 01160620e8b..ddf37729a08 100644 --- a/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/SelectionParseTest.java +++ b/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/SelectionParseTest.java @@ -304,4 +304,14 @@ public class SelectionParseTest extends SelectionParseBaseTest { IASTNode node = parse( code, startIndex, startIndex + 5 ); assertNotNull( node ); } + + public void testBug68527() throws Exception + { + Writer writer = new StringWriter(); + writer.write("struct X;\n"); //$NON-NLS-1$ + writer.write("struct X anA;"); //$NON-NLS-1$ + String code = writer.toString(); + int startIndex = code.indexOf( "X anA"); //$NON-NLS-1$ + parse( code, startIndex, startIndex + 1 ); + } } diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/Parser.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/Parser.java index df58e350e0c..9ba4f464527 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/Parser.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/Parser.java @@ -1939,8 +1939,11 @@ public abstract class Parser extends ExpressionParser implements IParser sdw.setTypeSpecifier(elaboratedTypeSpec); if (isForewardDecl) + { ((IASTElaboratedTypeSpecifier) elaboratedTypeSpec).acceptElement( requestor, astFactory.getReferenceManager()); + handleOffsetableNamedElement((IASTOffsetableNamedElement) elaboratedTypeSpec); + } } /** * Parses the initDeclarator construct of the ANSI C++ spec.