void InitializeRawRow() { if (rawRow != null) return; rawRow = readerModule.TablesStream.ReadTypeRefRow(rid); }
/// <inheritdoc/> protected override uint AddTypeRef(TypeRef tr) { if (tr == null) { Error("TypeRef is null"); return 0; } uint rid; if (typeRefInfos.TryGetRid(tr, out rid)) { if (rid == 0) Error("TypeRef {0:X8} has an infinite ResolutionScope loop", tr.MDToken.Raw); return rid; } typeRefInfos.Add(tr, 0); // Prevent inf recursion var row = new RawTypeRefRow(AddResolutionScope(tr.ResolutionScope), stringsHeap.Add(tr.Name), stringsHeap.Add(tr.Namespace)); rid = tablesHeap.TypeRefTable.Add(row); typeRefInfos.SetRid(tr, rid); AddCustomAttributes(Table.TypeRef, rid, tr); return rid; }