public Expression simple_reference_expression()
{
Expression expression = null;
IToken token = null;
IToken token2 = null;
try
{
switch (this.LA(1))
{
case 0x3b:
token = this.LT(1);
this.match(0x3b);
break;
case 12:
token2 = this.LT(1);
this.match(12);
if (base.inputState.guessing == 0)
{
token = token2;
}
break;
default:
throw new NoViableAltException(this.LT(1), this.getFilename());
}
if (base.inputState.guessing == 0)
{
ReferenceExpression expression2;
ReferenceExpression expression1 = expression2 = new ReferenceExpression(ToLexicalInfo(token));
expression2.set_Name(token.getText());
expression = expression2;
}
}
catch (RecognitionException exception)
{
if (base.inputState.guessing != 0)
{
throw;
}
this.reportError(exception);
this.recover(exception, tokenSet_20_);
return expression;
}
return expression;
}