Beispiel #1
0
    protected Invocation(ToFunction function, List<Expression> arguments)
    {
      Function = function;
      Arguments = arguments;
      ProfileIndex = -1;
      SourceOffset = function.SourceOffset;

      Use(Function);
      Use(Arguments);
    }
Beispiel #2
0
        protected Invocation(ToFunction function, List <Expression> arguments)
        {
            Function     = function;
            Arguments    = arguments;
            ProfileIndex = -1;
            SourceOffset = function.SourceOffset;

            Use(Function);
            Use(Arguments);
        }
Beispiel #3
0
        public ToFunction MakeToFunction(Expression expression)
        {
            var n = expression as ToFunction;

            if (n == null)
            {
                n = new ToFunction(MakeGuardedCast(expression));
            }
            return(n);
        }
Beispiel #4
0
        public CallExpression(ToFunction function, Expression thisArg, List <Expression> arguments, bool isDirectEvalCall)
            : base(function, arguments)
        {
            ThisArg = thisArg;
            Use(ThisArg);

            IsDirectEvalCall = isDirectEvalCall;

            m.Util.Diagnose.Debug.Assert(
                !IsDirectEvalCall ||
                ThisArg == null
                , "Invalid situation! DirectEvalCall cannot have a this argument");
        }
Beispiel #5
0
    public CallExpression(ToFunction function, Expression thisArg, List<Expression> arguments, bool isDirectEvalCall)
      : base(function, arguments)
    {
      ThisArg = thisArg;
      Use(ThisArg);

      IsDirectEvalCall = isDirectEvalCall;

      m.Util.Diagnose.Debug.Assert(
        !IsDirectEvalCall
        || ThisArg == null
        , "Invalid situation! DirectEvalCall cannot have a this argument");
      
    }
Beispiel #6
0
 public override void Visit(ToFunction node) { Visit(node, Types.Operations.Convert.ToFunction); }
Beispiel #7
0
 public override void Visit(ToFunction node) { Visit((ConversionExpression)node); }
Beispiel #8
0
 public override void Visit(ToFunction node) { base.Visit(node); node.ValueType = GetType(node); }
Beispiel #9
0
 internal static mdr.ValueTypes GetType(ToFunction expression) { return mdr.ValueTypes.Function; }
Beispiel #10
0
 public NewExpression(ToFunction function, List <Expression> arguments)
     : base(function, arguments)
 {
 }
Beispiel #11
0
 public override void Visit(ToFunction node)
 {
     Visit((ConversionExpression)node);
 }
Beispiel #12
0
 public ToFunction MakeToFunction(Expression expression)
 {
   var n = expression as ToFunction;
   if (n == null)
   {
     n = new ToFunction(MakeGuardedCast(expression));
   }
   return n;
 }
Beispiel #13
0
 public abstract void Visit(ToFunction node);
Beispiel #14
0
 public override void Visit(ToFunction node)
 {
   PushLocation(node);
   VisitNode(node.Expression);
   Call(Types.Operations.Stack.ToFunction, 1, 1);
   PopLocation();
 }
Beispiel #15
0
 public override void Visit(ToFunction node) { AssignToImplicitReturn(node); }
Beispiel #16
0
 public NewExpression(ToFunction function, List<Expression> arguments)
   : base(function, arguments)
 { }