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

◆ EmitCall()

void System.Linq.Expressions.Compiler.LambdaCompiler.EmitCall ( Type objectType,
MethodInfo method )
inlineprivate

Definition at line 1401 of file LambdaCompiler.cs.

1402 {
1403 if (method.CallingConvention == CallingConventions.VarArgs)
1404 {
1405 throw Error.UnexpectedVarArgsCall(method);
1406 }
1407 OpCode opCode = (UseVirtual(method) ? OpCodes.Callvirt : OpCodes.Call);
1408 if (opCode == OpCodes.Callvirt && objectType.IsValueType)
1409 {
1411 }
1413 }
virtual void Emit(OpCode opcode)
static readonly OpCode Callvirt
Definition OpCodes.cs:225
static readonly OpCode Constrained
Definition OpCodes.cs:443
static readonly OpCode Call
Definition OpCodes.cs:83

References System.Linq.Expressions.Compiler.LambdaCompiler._ilg, System.Reflection.Emit.OpCodes.Call, System.Reflection.Emit.OpCodes.Callvirt, System.Reflection.Emit.OpCodes.Constrained, System.Reflection.Emit.ILGenerator.Emit(), System.Linq.Expressions.Error.UnexpectedVarArgsCall(), and System.Linq.Expressions.Compiler.LambdaCompiler.UseVirtual().

Referenced by System.Linq.Expressions.Compiler.LambdaCompiler.AddressOfWriteBackCore(), System.Linq.Expressions.Compiler.LambdaCompiler.EmitGetIndexCall(), System.Linq.Expressions.Compiler.LambdaCompiler.EmitMemberAssignment(), System.Linq.Expressions.Compiler.LambdaCompiler.EmitMemberAssignment(), System.Linq.Expressions.Compiler.LambdaCompiler.EmitMemberGet(), and System.Linq.Expressions.Compiler.LambdaCompiler.EmitSetIndexCall().