public virtual void VisitExpressionSequence(ExpressionSequence node, TContext context)
 {
     foreach (var n in node.Expressions)
     {
         this.Visit(n, context);
     }
 }
        public override void VisitExpressionSequence(ExpressionSequence node, CloningAstVisitorContext context)
        {
            var result = new ExpressionSequence();

            this.CloneNodeCollection(node.Expressions, result.Expressions, context);
            context.Result = result;
        }
        public override void VisitExpressionSequence(ExpressionSequence node, AstPrinterContext context)
        {
            var i = 0;

            foreach (var n in node.Expressions)
            {
                this.Visit(n, context);
                i++;
                if (i < node.Expressions.Count)
                {
                    context.Write(", ");
                }
            }
        }
        public override AstNode VisitExpression([NotNull] GLSL_ES300Parser.ExpressionContext context)
        {
            var expr = context.expression();

            if (expr != null)
            {
                var result = new ExpressionSequence();

                while (expr != null)
                {
                    result.Expressions.Add((Expression)this.Visit(expr.assignment_expression()));
                    expr = expr.expression();
                }

                return(result);
            }

            return(this.Visit(context.assignment_expression()));
        }