public Declaration declaration()
{
Declaration declaration = null;
try
{
TypeReference reference;
this.match(0x2d);
IToken token = this.identifier();
switch (this.LA(1))
{
case 0x42:
this.match(0x42);
reference = this.type_reference();
break;
case 1:
case 5:
case 7:
case 8:
case 9:
case 10:
case 11:
case 12:
case 13:
case 15:
case 0x10:
case 0x11:
case 0x12:
case 0x13:
case 20:
case 0x15:
case 0x18:
case 0x19:
case 0x1b:
case 0x1d:
case 30:
case 0x1f:
case 0x20:
case 0x21:
case 0x23:
case 0x24:
case 0x25:
case 0x26:
case 0x27:
case 40:
case 0x29:
case 0x2a:
case 0x2b:
case 0x2c:
case 0x2d:
case 0x2e:
case 0x2f:
case 0x30:
case 0x31:
case 50:
case 0x33:
case 0x3b:
case 60:
case 0x3d:
case 0x3e:
case 0x3f:
case 0x44:
case 0x4d:
case 0x4e:
case 0x4f:
case 80:
case 0x52:
case 0x58:
case 0x63:
case 0x67:
case 0x69:
case 0x6a:
case 0x6b:
case 0x6c:
case 0x6d:
break;
default:
throw new NoViableAltException(this.LT(1), this.getFilename());
}
if (base.inputState.guessing == 0)
{
Declaration declaration2;
Declaration declaration1 = declaration2 = new Declaration(ToLexicalInfo(token));
declaration2.set_Name(token.getText());
declaration2.set_Type(reference);
declaration = declaration2;
}
}
catch (RecognitionException exception)
{
if (base.inputState.guessing != 0)
{
throw;
}
this.reportError(exception);
this.recover(exception, tokenSet_50_);
return declaration;
}
return declaration;
}