예제 #1
0
        public PropertySig GetPropSig(uint index)
        {
            PropertySig p = m_signatures[index] as PropertySig;

            if (p == null)
            {
                p = new PropertySig(index);
                p.Accept(this);
                m_signatures[index] = p;
            }
            return(p);
        }
예제 #2
0
        public override void VisitPropertySig(PropertySig property)
        {
            int start;

            Utilities.ReadCompressedInteger(m_blobData, (int)property.BlobIndex, out start);
            property.CallingConvention = m_blobData[start];
            property.Property          = (property.CallingConvention & 0x8) != 0;
            property.ParamCount        = Utilities.ReadCompressedInteger(m_blobData, start + 1, out start);
            property.CustomMods        = ReadCustomMods(m_blobData, start, out start);
            property.Type       = ReadType(m_blobData, start, out start);
            property.Parameters = ReadParameters(property.ParamCount, m_blobData, start);
        }