// 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); }
// 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; }