LNode ExprStatement()
{
Token lit_semi = default(Token);
LNode result = default(LNode);
result = SubExpr(StartExpr);
// Line 1425: ((EOF|TT.Catch|TT.Else|TT.Finally|TT.While) => | TT.Semicolon)
switch (LA0) {
case EOF: case TT.Catch: case TT.Else: case TT.Finally:
case TT.While:
{
var rr = result.Range;
result = F.Call(S.Result, result, rr.StartIndex, rr.EndIndex, rr.StartIndex, rr.StartIndex);
}
break;
case TT.Semicolon:
{
lit_semi = MatchAny();
// line 1428
result = result.WithRange(result.Range.StartIndex, lit_semi.EndIndex);
}
break;
default:
{
// line 1429
result = Error("Syntax error in expression at '{0}'; possibly missing semicolon", CurrentTokenText());
ScanToEndOfStmt();
}
break;
}
return result;
}