Ejemplo n.º 1
0
 /// <summary>
 /// Visits the children of <see cref="System.Linq.Expressions.DefaultExpression"/>.
 /// </summary>
 /// <param name="node">The expression to visit.</param>
 /// <returns>The modified expression, if it or any subexpression was modified; otherwise,
 /// returns the original expression.</returns>
 protected override Expression VisitDefault(DefaultExpression node)
 {
     throw new NotSupportedException("The current method is not implemented.");
 }
Ejemplo n.º 2
0
 public string Visit(DefaultExpression emptyOrNull)
 {
     return(null);
 }
 protected override Expression VisitDefault(DefaultExpression node)
 {
     return(base.VisitDefault(node));
 }
Ejemplo n.º 4
0
 protected abstract void WriteDefault(DefaultExpression expr);
Ejemplo n.º 5
0
 private static string VisitDefault(DefaultExpression node)
 {
     throw new NotImplementedException();
 }
Ejemplo n.º 6
0
 public DefaultExpressionProxy(DefaultExpression node)
 {
     _node = node;
 }
        private Expression OverrideArgsAndCreateDependencyExpression(Expression argsExpression, Key key, Expression containerExpression, DefaultExpression defaultExpression)
        {
            if (argsExpression is NewArrayExpression newArrayExpression && newArrayExpression.Expressions.Count == 0)
            {
                return(CreateDependencyExpression(key, containerExpression, defaultExpression));
            }

            var argsVar = Expression.Variable(_buildContext.ArgsParameter.Type);

            return(Expression.Block(
                       new[] { argsVar },
                       Expression.Assign(_buildContext.ArgsParameter, argsExpression),
                       CreateDependencyExpression(key, containerExpression, defaultExpression)));
        }
Ejemplo n.º 8
0
 protected override Expression VisitDefault(DefaultExpression defaultExpression)
 => DefaultValueConstantExpressionFactory.CreateFor(defaultExpression);
 public SerializableExpression TryConvert(Expression expression)
 {
     if (expression == null)
     {
         return(null);
     }
     else if (serialized.ContainsKey(expression))
     {
         /* Caching is required to maintain object references during serialization.
          * See the comments on SerializableExpression.ConvertWithCache for more info.
          */
         return(serialized[expression]);
     }
     else if ((methodCall = expression as MethodCallExpression) != null)
     {
         return(serialized[expression] = new SerializableMethodCallExpression(methodCall, this));
     }
     else if ((lambda = expression as LambdaExpression) != null)
     {
         return(serialized[expression] = new SerializableLambdaExpression(lambda, this));
     }
     else if ((constant = expression as ConstantExpression) != null)
     {
         return(serialized[expression] = new SerializableConstantExpression(constant));
     }
     else if ((member = expression as MemberExpression) != null)
     {
         return(serialized[expression] = new SerializableMemberExpression(member, this));
     }
     else if ((binary = expression as BinaryExpression) != null)
     {
         return(serialized[expression] = new SerializableBinaryExpression(binary, this));
     }
     else if ((block = expression as BlockExpression) != null)
     {
         return(serialized[expression] = new SerializableBlockExpression(block, this));
     }
     else if ((conditional = expression as ConditionalExpression) != null)
     {
         return(serialized[expression] = new SerializableConditionalExpression(conditional, this));
     }
     else if ((@default = expression as DefaultExpression) != null)
     {
         return(serialized[expression] = new SerializableDefaultExpression(@default));
     }
     else if ((@goto = expression as GotoExpression) != null)
     {
         return(serialized[expression] = new SerializableGotoExpression(@goto, this));
     }
     else if ((index = expression as IndexExpression) != null)
     {
         return(serialized[expression] = new SerializableIndexExpression(index, this));
     }
     else if ((invocation = expression as InvocationExpression) != null)
     {
         return(serialized[expression] = new SerializableInvocationExpression(invocation, this));
     }
     else if ((label = expression as LabelExpression) != null)
     {
         return(serialized[expression] = new SerializableLabelExpression(label, this));
     }
     else if ((listInit = expression as ListInitExpression) != null)
     {
         return(serialized[expression] = new SerializableListInitExpression(listInit, this));
     }
     else if ((loop = expression as LoopExpression) != null)
     {
         return(serialized[expression] = new SerializableLoopExpression(loop, this));
     }
     else if ((memberInit = expression as MemberInitExpression) != null)
     {
         return(serialized[expression] = new SerializableMemberInitExpression(memberInit, this));
     }
     else if ((newArray = expression as NewArrayExpression) != null)
     {
         return(serialized[expression] = new SerializableNewArrayExpression(newArray, this));
     }
     else if ((@new = expression as NewExpression) != null)
     {
         return(serialized[expression] = new SerializableNewExpression(@new, this));
     }
     else if ((parameter = expression as ParameterExpression) != null)
     {
         return(serialized[expression] = new SerializableParameterExpression(parameter));
     }
     else if ((runtimeVariables = expression as RuntimeVariablesExpression) != null)
     {
         return(serialized[expression] = new SerializableRuntimeVariablesExpression(runtimeVariables, this));
     }
     else if ((@switch = expression as SwitchExpression) != null)
     {
         return(serialized[expression] = new SerializableSwitchExpression(@switch, this));
     }
     else if ((@try = expression as TryExpression) != null)
     {
         return(serialized[expression] = new SerializableTryExpression(@try, this));
     }
     else if ((typeBinary = expression as TypeBinaryExpression) != null)
     {
         return(serialized[expression] = new SerializableTypeBinaryExpression(typeBinary, this));
     }
     else if ((unary = expression as UnaryExpression) != null)
     {
         return(serialized[expression] = new SerializableUnaryExpression(unary, this));
     }
     else
     {
         throw new ArgumentOutOfRangeException("expression");
     }
 }
 protected override Expression VisitDefault(DefaultExpression node)
 {
     throw new NotSupportedException();
 }
Ejemplo n.º 11
0
 protected override Expression VisitDefault(DefaultExpression node)
 {
     return(Handle(node, base.VisitDefault));
 }
 protected override bool GetResultFromDefault(DefaultExpression a) => true;
Ejemplo n.º 13
0
 protected override object GetResultFromDefault(DefaultExpression exp)
 {
     throw new NotImplementedException("Should never be necessary in expressions.");
 }
 private bool CompareDefault(DefaultExpression a, DefaultExpression b)
 {
     return a.Type == b.Type;
 }
Ejemplo n.º 15
0
 protected override Expression VisitDefault(DefaultExpression node)
 {
     Out(".Default(" + node.Type.ToString() + ")");
     return(node);
 }
Ejemplo n.º 16
0
 /// <summary>
 /// Gets a value from the current instance of <see cref="DefaultExpression"/> object.
 /// </summary>
 /// <param name="expression">The instance of <see cref="DefaultExpression"/> object where the value is to be extracted.</param>
 /// <returns>The extracted value from <see cref="DefaultExpression"/> object.</returns>
 public static object GetValue(this DefaultExpression expression)
 {
     return(expression.Type.GetTypeInfo().IsValueType ? Activator.CreateInstance(expression.Type) : null);
 }
 protected virtual Expression VisitDefault(DefaultExpression exp)
 {
     return exp;
 }
Ejemplo n.º 18
0
 static DefaultExpression MutateDefault(DefaultExpression node, IList <Expression> operands)
 {
     return(node);
 }
Ejemplo n.º 19
0
 public SerializableDefaultExpression(DefaultExpression expression)
     : base(expression)
 {
     Contract.Requires(expression != null);
 }
Ejemplo n.º 20
0
 // .DefaultExpression
 // .IndexExpression
 static IList <Expression> GetDefaultOperands(DefaultExpression node)
 {
     return(_empty);
 }
Ejemplo n.º 21
0
 private static string VisitSubExpression(DefaultExpression expression,
                                          ParameterExpression aggregateParameter, ParameterExpression currentParameter)
 {
     throw new NotImplementedException();
 }
Ejemplo n.º 22
0
        public virtual bool IsEvaluatableDefault(DefaultExpression node)
        {
            ArgumentUtility.CheckNotNull("node", node);

            return(true);
        }
Ejemplo n.º 23
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="node"></param>
 /// <returns></returns>
 protected override Expression VisitDefault(DefaultExpression node)
 {
     Out($".Default({node.Type})");
     addType(node.Type);
     return(node);
 }
Ejemplo n.º 24
0
 /// <summary>
 /// Gets a value from the current instance of <see cref="DefaultExpression"/> object.
 /// </summary>
 /// <param name="expression">The instance of <see cref="DefaultExpression"/> object where the value is to be extracted.</param>
 /// <returns>The extracted value from <see cref="DefaultExpression"/> object.</returns>
 public static object GetValue(this DefaultExpression expression) =>
 expression.Type.IsValueType ? Activator.CreateInstance(expression.Type) : null;
Ejemplo n.º 25
0
        protected override Expression VisitDefault(DefaultExpression X)
        {
            TraceVisit(X);

            return(base.VisitDefault(X));
        }
Ejemplo n.º 26
0
 private bool CompareDefault(DefaultExpression a, DefaultExpression b)
 => a.Type == b.Type;
Ejemplo n.º 27
0
        protected override Expression VisitDefault(DefaultExpression node)
        {
            _stringBuilder.Append("default(" + node.Type + ")");

            return(node);
        }
Ejemplo n.º 28
0
 /// <summary>
 /// Visits the <see cref="DefaultExpression" />.
 /// </summary>
 /// <param name="node">The expression to visit.</param>
 /// <returns>The modified expression, if it or any subexpression was modified;
 /// otherwise, returns the original expression.</returns>
 protected internal virtual Expression VisitDefault(DefaultExpression node)
 {
     return(node);
 }
Ejemplo n.º 29
0
 protected override Expression VisitDefault(DefaultExpression node)
 {
     expression = new DefaultExpressionWithLinqExpressions(node);
     return(node);
 }
Ejemplo n.º 30
0
 protected override Expression VisitDefault(DefaultExpression node)
 => context.Rewrite(node, base.VisitDefault);
        /// <summary>
        ///     This API supports the Entity Framework Core infrastructure and is not intended to be used
        ///     directly from your code. This API may change or be removed in future releases.
        /// </summary>
        protected override Expression VisitDefault(DefaultExpression defaultExpression)
        {
            _stringBuilder.Append("default(" + defaultExpression.Type.ShortDisplayName() + ")");

            return(defaultExpression);
        }
Ejemplo n.º 32
0
 protected override Expression VisitDefault(DefaultExpression node)
 {
     throw new NotImplementedException();
 }
 public DefaultExpressionProxy(DefaultExpression node) {
     _node = node;
 }
 protected override Expression VisitDefault(DefaultExpression exp)
 {
     return base.VisitDefault(exp);
 }