Ejemplo n.º 1
0
        // Parse an expression that might include comma separated multiple
        // expressions.
        ast.ExprNode ParseCompositeExpressionNode(ParseContext ctx)
        {
            var lhs = ParseExpressionAssignment(ctx);

            if (t.token != Token.comma)
            {
                return(lhs);
            }

            if ((ctx & ParseContext.AllowCompositeExpressions) == 0)
            {
                t.Compiler.RecordWarning(t.GetBookmark(), "use of composite expression - are you sure this is what you intended?");
            }

            var expr = new ast.ExprNodeComposite(t.GetBookmark());

            expr.Expressions.Add(lhs);

            while (t.SkipOptional(Token.comma))
            {
                expr.Expressions.Add(ParseExpressionAssignment(ctx));
            }

            return(expr);
        }
Ejemplo n.º 2
0
        // Parse an expression that might include comma separated multiple
        // expressions.
        ast.ExprNode ParseCompositeExpressionNode(ParseContext ctx)
        {
            var lhs = ParseExpressionAssignment(ctx);
            if (t.token != Token.comma)
                return lhs;

            if ((ctx & ParseContext.AllowCompositeExpressions) == 0)
            {
                t.Compiler.RecordWarning(t.GetBookmark(), "use of composite expression - are you sure this is what you intended?");
            }

            var expr = new ast.ExprNodeComposite(t.GetBookmark());
            expr.Expressions.Add(lhs);

            while (t.SkipOptional(Token.comma))
            {
                expr.Expressions.Add(ParseExpressionAssignment(ctx));
            }

            return expr;
        }