diff options
author | Markus Schorn | 2009-01-14 09:09:42 +0000 |
---|---|---|
committer | Markus Schorn | 2009-01-14 09:09:42 +0000 |
commit | 42185002076704567747680d11bbeb53169a9495 (patch) | |
tree | 0c435b828369df696238b8143c96569a6251bd55 /core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/ASTTranslationUnit.java | |
parent | 27e180373fd2e18760df56016d9113e4f9158ae0 (diff) | |
download | org.eclipse.cdt-42185002076704567747680d11bbeb53169a9495.tar.gz org.eclipse.cdt-42185002076704567747680d11bbeb53169a9495.tar.xz org.eclipse.cdt-42185002076704567747680d11bbeb53169a9495.zip |
Specialization of owners of deferred instances, bug 259872.
Diffstat (limited to 'core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/ASTTranslationUnit.java')
-rw-r--r-- | core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/ASTTranslationUnit.java | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/ASTTranslationUnit.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/ASTTranslationUnit.java index ec19144401d..4c595e618b0 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/ASTTranslationUnit.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/ASTTranslationUnit.java @@ -16,6 +16,7 @@ import org.eclipse.cdt.core.CCorePlugin; import org.eclipse.cdt.core.dom.IName; import org.eclipse.cdt.core.dom.ast.ASTVisitor; import org.eclipse.cdt.core.dom.ast.IASTComment; +import org.eclipse.cdt.core.dom.ast.IASTDeclSpecifier; import org.eclipse.cdt.core.dom.ast.IASTDeclaration; import org.eclipse.cdt.core.dom.ast.IASTFileLocation; import org.eclipse.cdt.core.dom.ast.IASTName; @@ -35,6 +36,7 @@ import org.eclipse.cdt.core.index.IIndex; import org.eclipse.cdt.core.index.IIndexFile; import org.eclipse.cdt.core.index.IIndexFileSet; import org.eclipse.cdt.core.parser.util.ArrayUtil; +import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTCompositeTypeSpecifier; import org.eclipse.cdt.internal.core.parser.scanner.ILocationResolver; import org.eclipse.cdt.internal.core.parser.scanner.ISkippedIndexedFilesListener; import org.eclipse.cdt.internal.core.parser.scanner.IncludeFileContent; @@ -355,12 +357,22 @@ public abstract class ASTTranslationUnit extends ASTNode implements IASTTranslat public void cleanupAfterAmbiguityResolution() { // clear bindings (see bug 232811) accept(new ASTVisitor(){ - {shouldVisitNames= true;} + { + shouldVisitNames= true; + shouldVisitDeclSpecifiers= true; + } @Override public int visit(IASTName name) { name.setBinding(null); return PROCESS_CONTINUE; } + + @Override + public int visit(IASTDeclSpecifier declSpec) { + if (declSpec instanceof CPPASTCompositeTypeSpecifier) + ((CPPASTCompositeTypeSpecifier) declSpec).setScope(null); + return PROCESS_CONTINUE; + } }); } |