public void while_statement(Block container)
{
IToken token = null;
try
{
WhileStatement statement2;
Block block;
token = this.LT(1);
this.match(0x2f);
Expression expression = this.paren_expression();
if (base.inputState.guessing == 0)
{
WhileStatement statement;
WhileStatement statement1 = statement = new WhileStatement(ToLexicalInfo(token));
statement.set_Condition(expression);
statement2 = statement;
block = statement2.get_Block();
container.Add(statement2);
this.EnterLoop(statement2);
}
this.compound_or_single_stmt(block);
if (base.inputState.guessing == 0)
{
this.LeaveLoop(statement2);
}
}
catch (RecognitionException exception)
{
if (base.inputState.guessing != 0)
{
throw;
}
this.reportError(exception);
this.recover(exception, tokenSet_15_);
}
}