void InitializeRawRow() { if (rawRow != null) return; rawRow = readerModule.TablesStream.ReadTypeSpecRow(rid); }
/// <inheritdoc/> protected override uint AddTypeSpec(TypeSpec ts) { if (ts == null) { Error("TypeSpec is null"); return 0; } uint rid; if (typeSpecInfos.TryGetRid(ts, out rid)) { if (rid == 0) Error("TypeSpec {0:X8} has an infinite TypeSig loop", ts.MDToken.Raw); return rid; } typeSpecInfos.Add(ts, 0); // Prevent inf recursion var row = new RawTypeSpecRow(GetSignature(ts.TypeSig, ts.ExtraData)); rid = tablesHeap.TypeSpecTable.Add(row); typeSpecInfos.SetRid(ts, rid); AddCustomAttributes(Table.TypeSpec, rid, ts); return rid; }