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

◆ Emit() [15/17]

virtual void System.Reflection.Emit.ILGenerator.Emit ( OpCode opcode,
SignatureHelper signature )
inlinevirtual

Reimplemented in System.Reflection.Emit.DynamicILGenerator.

Definition at line 540 of file ILGenerator.cs.

541 {
542 if (signature == null)
543 {
544 throw new ArgumentNullException("signature");
545 }
546 int num = 0;
547 ModuleBuilder moduleBuilder = (ModuleBuilder)m_methodBuilder.Module;
548 int signatureToken = moduleBuilder.GetSignatureToken(signature);
549 int value = signatureToken;
551 InternalEmit(opcode);
552 if (opcode.StackBehaviourPop == StackBehaviour.Varpop)
553 {
554 num -= signature.ArgumentCount;
555 num--;
556 UpdateStackSize(opcode, num);
557 }
560 }
void UpdateStackSize(OpCode opcode, int stackchange)
void InternalEmit(OpCode opcode)

References System.Reflection.Emit.SignatureHelper.ArgumentCount, System.Reflection.Emit.ILGenerator.EnsureCapacity(), System.Reflection.Emit.ModuleBuilder.GetSignatureToken(), System.Reflection.Emit.ILGenerator.InternalEmit(), System.Reflection.Emit.ILGenerator.m_methodBuilder, System.Reflection.MemberInfo.Module, System.Reflection.Emit.ILGenerator.PutInteger4(), System.Reflection.Emit.ILGenerator.RecordTokenFixup(), System.Reflection.Emit.OpCode.StackBehaviourPop, System.Reflection.Emit.ILGenerator.UpdateStackSize(), and System.value.