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:
parent
ef9771f9fa
commit
f584975ffd
1 changed files with 9 additions and 3 deletions
|
@ -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) {
|
||||||
while (!deferredNodes.isEmpty()) {
|
int deferFunctions = fDeferFunctions;
|
||||||
fDeferFunctions = 0;
|
fDeferFunctions = 0;
|
||||||
|
try {
|
||||||
|
while (!deferredNodes.isEmpty()) {
|
||||||
deferredNodes.removeFirst().accept(this);
|
deferredNodes.removeFirst().accept(this);
|
||||||
}
|
}
|
||||||
|
} finally {
|
||||||
|
fDeferFunctions = deferFunctions;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void repopulateScope(IASTDeclaration declaration) {
|
private void repopulateScope(IASTDeclaration declaration) {
|
||||||
|
|
Loading…
Add table
Reference in a new issue