1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-22 14:12:10 +02:00

Bug 427854 - Encountered an ambiguous node error message produced by

parser. Adjusted ordering of ambiguity resolution for nested classes.
This commit is contained in:
Sergey Prigogin 2014-02-11 11:25:57 -08:00
parent ef9771f9fa
commit f584975ffd

View file

@ -186,6 +186,7 @@ final class CPPASTAmbiguityResolver extends ASTVisitor {
@Override @Override
public int leave(IASTTranslationUnit tu) { public int leave(IASTTranslationUnit tu) {
fDeferFunctions= 0;
while (!fDeferredNodes.isEmpty()) { while (!fDeferredNodes.isEmpty()) {
processDeferredNodes(fDeferredNodes.removeLast()); processDeferredNodes(fDeferredNodes.removeLast());
} }
@ -193,10 +194,15 @@ final class CPPASTAmbiguityResolver extends ASTVisitor {
} }
private void processDeferredNodes(Deque<IASTNode> deferredNodes) { private void processDeferredNodes(Deque<IASTNode> deferredNodes) {
int deferFunctions = fDeferFunctions;
fDeferFunctions = 0;
try {
while (!deferredNodes.isEmpty()) { while (!deferredNodes.isEmpty()) {
fDeferFunctions= 0;
deferredNodes.removeFirst().accept(this); deferredNodes.removeFirst().accept(this);
} }
} finally {
fDeferFunctions = deferFunctions;
}
} }
private void repopulateScope(IASTDeclaration declaration) { private void repopulateScope(IASTDeclaration declaration) {