/// <summary> /// Initializes instance of <see cref="ForeachVar"/> representing PHP list expression. /// </summary> /// <param name="list"></param> public ForeachVar(ListEx /*!*/ list) { Debug.Assert(list != null); Debug.Assert(list.RValue == null); this.expr = list; this.alias = false; }
BoundExpression BindListEx(AST.ListEx expr) { var vars = expr.LValues .Select(lval => (lval != null) ? (BoundReferenceExpression)BindExpression(lval, BoundAccess.Write) : null) .ToArray(); return(new BoundAssignEx(new BoundListEx(vars).WithAccess(BoundAccess.Write), BindExpression(expr.RValue, BoundAccess.Read))); }
/// <summary> /// Visit list initializer expressions and r-value (if not null) /// </summary> /// <param name="x"></param> virtual public void VisitListEx(ListEx x) { VisitExpressions(x.LValues); VisitElement(x.RValue); }