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

◆ Emit() [15/17]

override void System.Reflection.Emit.DynamicILGenerator.Emit ( OpCode opcode,
SignatureHelper signature )
inlinevirtual

Reimplemented from System.Reflection.Emit.ILGenerator.

Definition at line 253 of file DynamicILGenerator.cs.

254 {
255 if (signature == null)
256 {
257 throw new ArgumentNullException("signature");
258 }
259 int num = 0;
261 InternalEmit(opcode);
262 if (opcode.StackBehaviourPop == StackBehaviour.Varpop)
263 {
264 num -= signature.ArgumentCount;
265 num--;
266 UpdateStackSize(opcode, num);
267 }
268 int tokenForSig = GetTokenForSig(signature.GetSignature(appendEndOfSig: true));
269 PutInteger4(tokenForSig);
270 }
void UpdateStackSize(OpCode opcode, int stackchange)
void InternalEmit(OpCode opcode)

References System.Reflection.Emit.SignatureHelper.ArgumentCount, System.Reflection.Emit.ILGenerator.EnsureCapacity(), System.Reflection.Emit.SignatureHelper.GetSignature(), System.Reflection.Emit.DynamicILGenerator.GetTokenForSig(), System.Reflection.Emit.ILGenerator.InternalEmit(), System.Reflection.Emit.ILGenerator.PutInteger4(), System.Reflection.Emit.OpCode.StackBehaviourPop, and System.Reflection.Emit.ILGenerator.UpdateStackSize().