public void switch_statement(Block container)
{
IToken token = null;
IToken token2 = null;
IToken token3 = null;
IToken token4 = null;
try
{
Block block;
MacroStatement statement4;
Block block2;
token = this.LT(1);
this.match(0x31);
Expression expression = this.paren_expression();
if (base.inputState.guessing == 0)
{
MacroStatement statement;
MacroStatement statement1 = statement = new MacroStatement(ToLexicalInfo(token));
statement.set_Name(this.MacroName(token.getText()));
MacroStatement statement2 = statement;
statement2.get_Arguments().Add(expression);
block = statement2.get_Body();
container.Add(statement2);
}
this.match(0x3d);
Label_0088:
if (this.LA(1) == 50)
{
token2 = this.LT(1);
this.match(50);
expression = this.expression();
this.match(0x42);
if (base.inputState.guessing == 0)
{
MacroStatement statement3;
MacroStatement statement6 = statement3 = new MacroStatement(ToLexicalInfo(token2));
statement3.set_Name(token2.getText());
statement4 = statement3;
statement4.get_Arguments().Add(expression);
block2 = statement4.get_Body();
block.Add(statement4);
}
while (this.LA(1) == 50)
{
token3 = this.LT(1);
this.match(50);
expression = this.expression();
this.match(0x42);
if (base.inputState.guessing == 0)
{
statement4.get_Arguments().Add(expression);
}
}
int num = 0;
while (true)
{
if (tokenSet_2_.member(this.LA(1)))
{
this.statement(block2);
}
else
{
if (num < 1)
{
throw new NoViableAltException(this.LT(1), this.getFilename());
}
goto Label_0088;
}
num++;
}
}
int num2 = this.LA(1);
if (num2 == 0x33)
{
token4 = this.LT(1);
this.match(0x33);
this.match(0x42);
if (base.inputState.guessing == 0)
{
MacroStatement statement5;
MacroStatement statement7 = statement5 = new MacroStatement(ToLexicalInfo(token4));
statement5.set_Name(token4.getText());
statement4 = statement5;
block2 = statement4.get_Body();
block.Add(statement4);
}
int num3 = 0;
while (true)
{
if (tokenSet_2_.member(this.LA(1)))
{
this.statement(block2);
}
else
{
if (num3 < 1)
{
throw new NoViableAltException(this.LT(1), this.getFilename());
}
goto Label_02C9;
}
num3++;
}
}
if (num2 != 0x3e)
{
throw new NoViableAltException(this.LT(1), this.getFilename());
}
Label_02C9:
this.match(0x3e);
while ((this.LA(1) == 0x4d) && tokenSet_15_.member(this.LA(2)))
{
this.match(0x4d);
}
}
catch (RecognitionException exception)
{
if (base.inputState.guessing != 0)
{
throw;
}
this.reportError(exception);
this.recover(exception, tokenSet_15_);
}
}