50 return Type.IsNullableType();
82 return !
type2.IsValueType;
96 if ((uint)(
op - 63) <= 13
u)
129 return Left.NodeType
switch
146 ExpressionType.SubtractAssignChecked =>
ExpressionType.SubtractChecked,
148 ExpressionType.MultiplyAssignChecked =>
ExpressionType.MultiplyChecked,
236 return visitor.VisitBinary(
this);
262 return Expression.
Block(
new TrueReadOnlyCollection<ParameterExpression>(
parameterExpression),
new TrueReadOnlyCollection<Expression>(
Expression.
Assign(
parameterExpression,
Left),
Expression.
Condition(
GetHasValueProperty(
parameterExpression),
Expression.
Condition(
Expression.
Call(
booleanOperator,
CallGetValueOrDefault(
parameterExpression)),
parameterExpression,
Expression.
Block(
new TrueReadOnlyCollection<ParameterExpression>(
parameterExpression2),
new TrueReadOnlyCollection<Expression>(
Expression.
Assign(
parameterExpression2,
Right),
Expression.
Condition(
GetHasValueProperty(
parameterExpression2),
Expression.
Convert(
Expression.
Call(
Method,
CallGetValueOrDefault(
parameterExpression),
CallGetValueOrDefault(
parameterExpression2)),
Type),
Expression.
Constant(
null,
Type))))),
Expression.
Constant(
null,
Type))));
266 [
UnconditionalSuppressMessage(
"ReflectionAnalysis",
"IL2026:RequiresUnreferencedCode", Justification =
"The method will be preserved by the DynamicDependency.")]
273 [
UnconditionalSuppressMessage(
"ReflectionAnalysis",
"IL2026:RequiresUnreferencedCode", Justification =
"The property will be preserved by the DynamicDependency.")]
void Add(TKey key, TValue value)
static Exception Unreachable
static bool AreEquivalent(Type t1, Type t2)
static MethodInfo GetBooleanOperator(Type type, string name)
bool IsReferenceComparison
static bool IsOpAssignment(ExpressionType op)
static MethodCallExpression CallGetValueOrDefault(ParameterExpression nullable)
virtual LambdaExpression GetConversion()
LambdaExpression? Conversion
Expression ReduceUserdefinedLifted()
BinaryExpression(Expression left, Expression right)
virtual MethodInfo GetMethod()
override Expression Reduce()
static ExpressionType GetBinaryOpFromAssignmentOp(ExpressionType op)
static MemberExpression GetHasValueProperty(ParameterExpression nullable)
override Expression Accept(ExpressionVisitor visitor)
static BinaryExpression Create(ExpressionType nodeType, Expression left, Expression right, Type type, MethodInfo method, LambdaExpression conversion)
Expression ReduceVariable()
BinaryExpression Update(Expression left, LambdaExpression? conversion, Expression right)
Expression ReduceMember()
static ConstantExpression Constant(object? value)
static BlockExpression Block(Expression arg0, Expression arg1)
static MethodCallExpression Call(MethodInfo method)
static BinaryExpression Assign(Expression left, Expression right)
static ParameterExpression Parameter(Type type)
static MemberExpression MakeMemberAccess(Expression? expression, MemberInfo member)
static BinaryExpression ReferenceEqual(Expression left, Expression right)
static IndexExpression Property(Expression instance, string propertyName, params Expression[]? arguments)
virtual ExpressionType NodeType
static ConditionalExpression Condition(Expression test, Expression ifTrue, Expression ifFalse)
static UnaryExpression Convert(Expression expression, Type type)
static BinaryExpression MakeBinary(ExpressionType binaryType, Expression left, Expression right)
static BinaryExpression ReferenceNotEqual(Expression left, Expression right)
static IndexExpression MakeIndex(Expression instance, PropertyInfo? indexer, IEnumerable< Expression >? arguments)
static ParameterExpression Variable(Type type)
static InvocationExpression Invoke(Expression expression)