LNode MethodOrPropertyOrVarStmt(int startIndex, VList<LNode> attrs)
{
TokenType la0;
LNode result = default(LNode);
// Line 1291: ( TraitDecl / AliasDecl / MethodOrPropertyOrVar )
la0 = LA0;
if (la0 == TT.ContextualKeyword) {
if (Is(0, _trait)) {
switch (LA(1)) {
case TT.ContextualKeyword: case TT.Id: case TT.Operator: case TT.Substitute:
case TT.This: case TT.TypeKeyword:
{
result = TraitDecl(startIndex);
// line 1291
result = result.PlusAttrs(attrs);
}
break;
default:
result = MethodOrPropertyOrVar(startIndex, attrs);
break;
}
} else if (Is(0, _alias)) {
switch (LA(1)) {
case TT.ContextualKeyword: case TT.Id: case TT.Operator: case TT.Substitute:
case TT.This: case TT.TypeKeyword:
{
result = AliasDecl(startIndex);
// line 1292
result = result.PlusAttrs(attrs);
}
break;
default:
result = MethodOrPropertyOrVar(startIndex, attrs);
break;
}
} else
result = MethodOrPropertyOrVar(startIndex, attrs);
} else
result = MethodOrPropertyOrVar(startIndex, attrs);
return result;
}