private IExpression ParseKeywordConstant(IEnumerator <IToken> tokens) { var token = tokens.Current; var constant = default(Object); if (token.Is(Keywords.New)) { return(ParseObject(tokens)); } else if (token.Is(Keywords.Await)) { return(ParseAwait(tokens)); } else if (token.Is(Keywords.Delete)) { return(ParseDelete(tokens)); } else if (Keywords.TryGetConstant(token.Payload, out constant)) { var expr = ConstantExpression.From(constant, token); tokens.NextNonIgnorable(); return(expr); } return(ParseInvalid(ErrorCode.KeywordUnexpected, tokens)); }