コード例 #1
0
        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));
        }