예제 #1
0
        public override void VisitLocalVarSig(LocalVarSig localvar)
        {
            int start;

            Utilities.ReadCompressedInteger(m_blobData, (int)localvar.BlobIndex, out start);
            localvar.CallingConvention = m_blobData [start];
            localvar.Local             = (localvar.CallingConvention & 0x7) != 0;
            localvar.Count             = Utilities.ReadCompressedInteger(m_blobData, start + 1, out start);
            localvar.LocalVariables    = ReadLocalVariables(localvar.Count, m_blobData, start);
        }
예제 #2
0
        public LocalVarSig GetLocalVarSig(uint index)
        {
            LocalVarSig lv = m_signatures [index] as LocalVarSig;

            if (lv == null)
            {
                lv = new LocalVarSig(index);
                lv.Accept(this);
                m_signatures [index] = lv;
            }
            return(lv);
        }
예제 #3
0
 public uint AddLocalVarSig(LocalVarSig lvs)
 {
     return(AddSignature(lvs));
 }
예제 #4
0
 public override void VisitLocalVarSig(LocalVarSig localvar)
 {
     m_sigWriter.Write(localvar.CallingConvention);
     Write(localvar.Count);
     Write(localvar.LocalVariables);
 }