コード例 #1
0
ファイル: Invocation.cs プロジェクト: reshadi2/mcjs
    protected Invocation(ToFunction function, List<Expression> arguments)
    {
      Function = function;
      Arguments = arguments;
      ProfileIndex = -1;
      SourceOffset = function.SourceOffset;

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

            Use(Function);
            Use(Arguments);
        }
コード例 #3
0
ファイル: NodeFactory.cs プロジェクト: vrajeshbhavsar/mcjs
        public ToFunction MakeToFunction(Expression expression)
        {
            var n = expression as ToFunction;

            if (n == null)
            {
                n = new ToFunction(MakeGuardedCast(expression));
            }
            return(n);
        }
コード例 #4
0
ファイル: CallExpression.cs プロジェクト: vrajeshbhavsar/mcjs
        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");
        }
コード例 #5
0
ファイル: CallExpression.cs プロジェクト: reshadi2/mcjs
    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");
      
    }
コード例 #6
0
ファイル: CodeGenerator.cs プロジェクト: reshadi2/mcjs
 public override void Visit(ToFunction node) { Visit(node, Types.Operations.Convert.ToFunction); }
コード例 #7
0
ファイル: DepthFirstVisitor.cs プロジェクト: reshadi2/mcjs
 public override void Visit(ToFunction node) { Visit((ConversionExpression)node); }
コード例 #8
0
ファイル: TypeCalculator.cs プロジェクト: reshadi2/mcjs
 public override void Visit(ToFunction node) { base.Visit(node); node.ValueType = GetType(node); }
コード例 #9
0
ファイル: TypeCalculator.cs プロジェクト: reshadi2/mcjs
 internal static mdr.ValueTypes GetType(ToFunction expression) { return mdr.ValueTypes.Function; }
コード例 #10
0
ファイル: NewExpression.cs プロジェクト: vrajeshbhavsar/mcjs
 public NewExpression(ToFunction function, List <Expression> arguments)
     : base(function, arguments)
 {
 }
コード例 #11
0
 public override void Visit(ToFunction node)
 {
     Visit((ConversionExpression)node);
 }
コード例 #12
0
ファイル: NodeFactory.cs プロジェクト: reshadi2/mcjs
 public ToFunction MakeToFunction(Expression expression)
 {
   var n = expression as ToFunction;
   if (n == null)
   {
     n = new ToFunction(MakeGuardedCast(expression));
   }
   return n;
 }
コード例 #13
0
ファイル: INodeVisitor.cs プロジェクト: vrajeshbhavsar/mcjs
 public abstract void Visit(ToFunction node);
コード例 #14
0
ファイル: CodeGeneratorLight.cs プロジェクト: reshadi2/mcjs
 public override void Visit(ToFunction node)
 {
   PushLocation(node);
   VisitNode(node.Expression);
   Call(Types.Operations.Stack.ToFunction, 1, 1);
   PopLocation();
 }
コード例 #15
0
 public override void Visit(ToFunction node) { AssignToImplicitReturn(node); }
コード例 #16
0
ファイル: NewExpression.cs プロジェクト: reshadi2/mcjs
 public NewExpression(ToFunction function, List<Expression> arguments)
   : base(function, arguments)
 { }