BoundExpression BindVarLikeConstructUse(AST.VarLikeConstructUse expr, BoundAccess access) { if (expr is AST.SimpleVarUse) { return(BindSimpleVarUse((AST.SimpleVarUse)expr, access)); } if (expr is AST.FunctionCall) { return(BindFunctionCall((AST.FunctionCall)expr, access)); } if (expr is AST.NewEx) { return(BindNew((AST.NewEx)expr, access)); } if (expr is AST.ArrayEx) { return(BindArrayEx((AST.ArrayEx)expr, access)); } if (expr is AST.ItemUse) { return(BindItemUse((AST.ItemUse)expr, access)); } if (expr is AST.StaticFieldUse) { return(BindFieldUse((AST.StaticFieldUse)expr, access)); } throw new NotImplementedException(expr.GetType().FullName); }
public ItemUse(Text.Span p, VarLikeConstructUse /*!*/ array, Expression index, bool functionArrayDereferencing = false) : base(p) { Debug.Assert(array != null); this.array = array; this.index = index; this.functionArrayDereferencing = functionArrayDereferencing; }
virtual public void VisitVarLikeConstructUse(VarLikeConstructUse x) { VisitElement(x.IsMemberOf); }