public override void VisitPropertySig(PropertySig property) { m_sigWriter.Write(property.CallingConvention); Write(property.ParamCount); Write(property.Type); Write(property.Parameters); }
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; }
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.Type = this.ReadType(m_blobData, start, out start); property.Parameters = this.ReadParameters(property.ParamCount, m_blobData, start); }
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); }
public uint AddPropertySig (PropertySig ps) { return AddSignature (ps); }
public override void VisitPropertySig (PropertySig property) { m_sigWriter.Write (property.CallingConvention); Write (property.ParamCount); Write (property.CustomMods); Write (property.Type); Write (property.Parameters); }
public PropertySig GetPropertySig(PropertyDefinition prop) { PropertySig ps = new PropertySig (); ps.CallingConvention |= 0x8; bool hasThis; bool explicitThis; MethodCallingConvention mcc; ParameterDefinitionCollection parameters = prop.Parameters; MethodDefinition meth; if (prop.GetMethod != null) meth = prop.GetMethod; else if (prop.SetMethod != null) meth = prop.SetMethod; else meth = null; if (meth != null) { hasThis = meth.HasThis; explicitThis = meth.ExplicitThis; mcc = meth.CallingConvention; } else { hasThis = explicitThis = false; mcc = MethodCallingConvention.Default; } if (hasThis) ps.CallingConvention |= 0x20; if (explicitThis) ps.CallingConvention |= 0x40; if ((mcc & MethodCallingConvention.VarArg) != 0) ps.CallingConvention |= 0x5; int paramCount = parameters != null ? parameters.Count : 0; ps.ParamCount = paramCount; ps.Parameters = GetParametersSig (parameters); ps.Type = GetSigType (prop.PropertyType); return ps; }
public uint AddPropertySig(PropertySig ps) { return(AddSignature(ps)); }
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, out start); }