示例#1
0
        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);
        }
示例#2
0
        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;
        }
示例#3
0
 virtual public void VisitVarLikeConstructUse(VarLikeConstructUse x)
 {
     VisitElement(x.IsMemberOf);
 }