diff options
Diffstat (limited to 'lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/BuildASTParserAction.java')
-rw-r--r-- | lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/BuildASTParserAction.java | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/BuildASTParserAction.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/BuildASTParserAction.java index 7d8464afd4a..fd471d0e3c7 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/BuildASTParserAction.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/BuildASTParserAction.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2009 IBM Corporation and others. + * Copyright (c) 2006, 2010 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -601,9 +601,10 @@ public abstract class BuildASTParserAction extends AbstractParserAction { /** * iteration_statement_matched * ::= 'do' statement 'while' '(' expression ')' ';' + * | 'do' statement */ - public void consumeStatementDoLoop() { - IASTExpression condition = (IASTExpression) astStack.pop(); + public void consumeStatementDoLoop(boolean hasWhileBlock) { + IASTExpression condition = hasWhileBlock? (IASTExpression) astStack.pop() : null; IASTStatement body = (IASTStatement) astStack.pop(); IASTDoStatement stat = nodeFactory.newDoStatement(body, condition); setOffsetAndLength(stat); |