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

◆ CompileMethodLogicalBinaryExpression()

void System.Linq.Expressions.Interpreter.LightCompiler.CompileMethodLogicalBinaryExpression ( BinaryExpression expr,
bool andAlso )
inlineprivate

Definition at line 1002 of file LightCompiler.cs.

1003 {
1004 BranchLabel branchLabel = _instructions.MakeLabel();
1005 Compile(expr.Left);
1007 MethodInfo booleanOperator = TypeUtils.GetBooleanOperator(expr.Method.DeclaringType, andAlso ? "op_False" : "op_True");
1010 Compile(expr.Right);
1011 _instructions.EmitCall(expr.Method);
1013 }
static MethodInfo GetBooleanOperator(Type type, string name)
Definition TypeUtils.cs:640
void Compile(Expression expr, bool asVoid)

References System.Linq.Expressions.Interpreter.LightCompiler._instructions, System.Linq.Expressions.Interpreter.LightCompiler.Compile(), System.Reflection.MemberInfo.DeclaringType, System.Linq.Expressions.Interpreter.InstructionList.EmitBranchTrue(), System.Linq.Expressions.Interpreter.InstructionList.EmitCall(), System.Linq.Expressions.Interpreter.InstructionList.EmitDup(), System.Dynamic.Utils.TypeUtils.GetBooleanOperator(), System.Linq.Expressions.BinaryExpression.Left, System.Linq.Expressions.Interpreter.InstructionList.MakeLabel(), System.Linq.Expressions.Interpreter.InstructionList.MarkLabel(), System.Linq.Expressions.BinaryExpression.Method, and System.Linq.Expressions.BinaryExpression.Right.

Referenced by System.Linq.Expressions.Interpreter.LightCompiler.CompileLogicalBinaryExpression().