void SetReferencesOfReferencedModules(MetadataReferenceResolver resolver, List <PEModuleSymbol> modules) { for (int i = 0; i < modules.Count; i++) { if (modules[i].HasReferencesSet) { // module is already cached with references set continue; } var refs = modules[i].Module.ReferencedAssemblies; var symbols = new AssemblySymbol[refs.Length]; var ass = modules[i].ContainingAssembly; var basePath = PathUtilities.GetDirectoryName((ass as PEAssemblySymbol)?.FilePath); for (int j = 0; j < refs.Length; j++) { var symbol = CreateAssemblyFromIdentity(resolver, refs[j], basePath, modules); symbols[j] = symbol; } // modules[i].SetReferences(new ModuleReferences <AssemblySymbol>(refs, symbols.AsImmutable(), ImmutableArray <UnifiedAssembly <AssemblySymbol> > .Empty)); } }
void SetReferencesOfReferencedModules(MetadataReferenceResolver resolver, List <PEModuleSymbol> modules) { for (int i = 0; i < modules.Count; i++) { var refs = modules[i].Module.ReferencedAssemblies; var symbols = new AssemblySymbol[refs.Length]; for (int j = 0; j < refs.Length; j++) { var symbol = CreateAssemblyFromIdentity(resolver, refs[j], null, modules); symbols[j] = symbol; } // modules[i].SetReferences(new ModuleReferences <AssemblySymbol>(refs, symbols.AsImmutable(), ImmutableArray <UnifiedAssembly <AssemblySymbol> > .Empty)); } }