/// <summary> /// Add the calli instruction /// </summary> /// <param name="sig">the signature for the calli</param> public void calli(CalliSig sig) { AddToBuffer(new SigInstr(SpecialOp.calli,sig)); }
public void SetSig(CalliSig sig) { signature = sig; }
internal static void Read(PEReader buff, TableRow[] sigs) { for (int i=0; i < sigs.Length; i++) { uint sigIx = buff.GetBlobIx(); uint tag = buff.FirstBlobByte(sigIx); if (tag == LocalSig.LocalSigByte) sigs[i] = new LocalSig(sigIx); else if (tag == Field.FieldTag) sigs[i] = new Signature(sigIx); else sigs[i] = new CalliSig(sigIx); sigs[i].Row = (uint)i+1; } }
/*-------------------- Constructors ---------------------------------*/ public SigInstr(SpecialOp inst, CalliSig sig) : base((uint)inst) { signature = sig; size += 4; }