LNode EnumDecl(int startIndex)
{
TokenType la0;
var kw = MatchAny();
var name = ComplexNameDecl();
var bases = BaseListOpt();
// Line 1513: (TT.Semicolon | TT.LBrace TT.RBrace)
la0 = LA0;
if (la0 == TT.Semicolon) {
var end = MatchAny();
// line 1514
return F.Call(kw, name, bases, startIndex, end.EndIndex);
} else {
var lb = Match((int) TT.LBrace);
var rb = Match((int) TT.RBrace);
// line 1517
var list = ExprListInside(lb, true);
var body = F.Braces(list, lb.StartIndex, rb.EndIndex);
return F.Call(kw, LNode.List(name, bases, body), startIndex, body.Range.EndIndex);
}
}