/// <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."); }
public string Visit(DefaultExpression emptyOrNull) { return(null); }
protected override Expression VisitDefault(DefaultExpression node) { return(base.VisitDefault(node)); }
protected abstract void WriteDefault(DefaultExpression expr);
private static string VisitDefault(DefaultExpression node) { throw new NotImplementedException(); }
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))); }
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(); }
protected override Expression VisitDefault(DefaultExpression node) { return(Handle(node, base.VisitDefault)); }
protected override bool GetResultFromDefault(DefaultExpression a) => true;
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; }
protected override Expression VisitDefault(DefaultExpression node) { Out(".Default(" + node.Type.ToString() + ")"); return(node); }
/// <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; }
static DefaultExpression MutateDefault(DefaultExpression node, IList <Expression> operands) { return(node); }
public SerializableDefaultExpression(DefaultExpression expression) : base(expression) { Contract.Requires(expression != null); }
// .DefaultExpression // .IndexExpression static IList <Expression> GetDefaultOperands(DefaultExpression node) { return(_empty); }
private static string VisitSubExpression(DefaultExpression expression, ParameterExpression aggregateParameter, ParameterExpression currentParameter) { throw new NotImplementedException(); }
public virtual bool IsEvaluatableDefault(DefaultExpression node) { ArgumentUtility.CheckNotNull("node", node); return(true); }
/// <summary> /// /// </summary> /// <param name="node"></param> /// <returns></returns> protected override Expression VisitDefault(DefaultExpression node) { Out($".Default({node.Type})"); addType(node.Type); return(node); }
/// <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;
protected override Expression VisitDefault(DefaultExpression X) { TraceVisit(X); return(base.VisitDefault(X)); }
private bool CompareDefault(DefaultExpression a, DefaultExpression b) => a.Type == b.Type;
protected override Expression VisitDefault(DefaultExpression node) { _stringBuilder.Append("default(" + node.Type + ")"); return(node); }
/// <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); }
protected override Expression VisitDefault(DefaultExpression node) { expression = new DefaultExpressionWithLinqExpressions(node); return(node); }
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); }
protected override Expression VisitDefault(DefaultExpression node) { throw new NotImplementedException(); }
protected override Expression VisitDefault(DefaultExpression exp) { return base.VisitDefault(exp); }