예제 #1
0
 /// <summary>
 /// Initializes the specified expression.
 /// </summary>
 /// <param name="expression">The expression.</param>
 protected override void Initialize(BinaryExpression expression)
 {
     Left           = Factory.Create(expression.Left);
     Right          = Factory.Create(expression.Right);
     Conversion     = Factory.Create(expression.Conversion);
     Method         = new MethodInfoNode(Factory, expression.Method);
     IsLiftedToNull = expression.IsLiftedToNull;
 }
예제 #2
0
        /// <summary>
        /// Initializes the specified element init.
        /// </summary>
        /// <param name="elementInit">The element init.</param>
        /// <exception cref="System.ArgumentNullException">elementInit</exception>
        private void Initialize(ElementInit elementInit)
        {
            if (elementInit == null)
            {
                throw new ArgumentNullException("elementInit");
            }

            AddMethod = new MethodInfoNode(Factory, elementInit.AddMethod);
            Arguments = new ExpressionNodeList(Factory, elementInit.Arguments);
        }
 protected override void Initialize(MethodCallExpression expression)
 {
     Arguments = new ExpressionNodeList(Factory, expression.Arguments);
     Method    = new MethodInfoNode(Factory, expression.Method);
     Object    = Factory.Create(expression.Object);
 }