void ReadTypeSpecs() { if (!m_tHeap.HasTable(TypeSpecTable.RId)) { return; } TypeSpecTable tsTable = m_tableReader.GetTypeSpecTable(); m_typeSpecs = new TypeReference [tsTable.Rows.Count]; }
public TypeReference GetTypeSpecAt(uint rid, GenericContext context) { int index = (int)rid - 1; TypeReference tspec = m_typeSpecs [index]; if (tspec != null) { return(tspec); } TypeSpecTable tsTable = m_tableReader.GetTypeSpecTable(); TypeSpecRow tsRow = tsTable [index]; TypeSpec ts = m_sigReader.GetTypeSpec(tsRow.Signature); tspec = GetTypeRefFromSig(ts.Type, context); tspec.MetadataToken = MetadataToken.FromMetadataRow(TokenType.TypeSpec, index); m_typeSpecs [index] = tspec; return(tspec); }