Example #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));
            }
            if (expr is AST.ListEx)
            {
                return(BindListEx((AST.ListEx)expr).WithAccess(access));
            }


            throw new NotImplementedException(expr.GetType().FullName);
        }