private static string[] GetModuleReferences(MetadataReader reader) { var count = reader.GetTableRowCount(TableIndex.ModuleRef); var references = new string[count]; for (int i = 0; i < count; i++) { var moduleRef = reader.GetModuleReference(MetadataTokens.ModuleReferenceHandle(i + 1)); var moduleName = reader.GetString(moduleRef.Name); references[i] = moduleName; } return references; }
private static ImmutableArray<int> CalculateTableSizes(MetadataReader reader, ImmutableArray<int> delta) { var sizes = new int[MetadataTokens.TableCount]; for (int i = 0; i < sizes.Length; i++) { sizes[i] = reader.GetTableRowCount((TableIndex)i) + delta[i]; } return ImmutableArray.Create(sizes); }
private static AssemblyReference[] GetAssemblyReferences(MetadataReader reader) { var count = reader.GetTableRowCount(TableIndex.AssemblyRef); var references = new AssemblyReference[count]; for (int i = 0; i < count; i++) { var reference = reader.GetAssemblyReference(MetadataTokens.AssemblyReferenceHandle(i + 1)); references[i] = new AssemblyReference(reader.GetString(reference.Name), reference.Version); } return references.ToArray(); }