Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ DivideAssign() [3/3]

static BinaryExpression System.Linq.Expressions.Expression< TDelegate >.DivideAssign ( Expression< TDelegate > left,
Expression< TDelegate > right,
MethodInfo? method,
LambdaExpression< TDelegate >? conversion )
inlinestaticinherited

Definition at line 1577 of file Expression.cs.

1578 {
1579 ExpressionUtils.RequiresCanRead(left, "left");
1580 RequiresCanWrite(left, "left");
1581 ExpressionUtils.RequiresCanRead(right, "right");
1582 if (method == null)
1583 {
1584 if (left.Type == right.Type && left.Type.IsArithmetic())
1585 {
1586 if (conversion != null)
1587 {
1588 throw Error.ConversionIsNotSupportedForArithmeticTypes();
1589 }
1590 return new SimpleBinaryExpression(ExpressionType.DivideAssign, left, right, left.Type);
1591 }
1592 return GetUserDefinedAssignOperatorOrThrow(ExpressionType.DivideAssign, "op_Division", left, right, conversion, liftToNull: true);
1593 }
1594 return GetMethodBasedAssignOperator(ExpressionType.DivideAssign, left, right, method, conversion, liftToNull: true);
1595 }
static void RequiresCanRead(Expression expression, string paramName)
static BinaryExpression GetUserDefinedAssignOperatorOrThrow(ExpressionType binaryType, string name, Expression left, Expression right, LambdaExpression conversion, bool liftToNull)
static void RequiresCanWrite(Expression expression, string paramName)
static BinaryExpression GetMethodBasedAssignOperator(ExpressionType binaryType, Expression left, Expression right, MethodInfo method, LambdaExpression conversion, bool liftToNull)

References System.Linq.Expressions.Error.ConversionIsNotSupportedForArithmeticTypes(), System.Linq.Expressions.Expression< TDelegate >.GetMethodBasedAssignOperator(), System.Linq.Expressions.Expression< TDelegate >.GetUserDefinedAssignOperatorOrThrow(), System.Dynamic.Utils.ExpressionUtils.RequiresCanRead(), and System.Linq.Expressions.Expression< TDelegate >.RequiresCanWrite().