internal SortedSet <string> GetMemberSignaturesFromMetadata(string fullyQualifiedTypeName, string memberName, IEnumerable <ModuleDataId> searchModules) { try { var signatures = new SortedSet <string>(); foreach (var id in searchModules) // Check inside each assembly in the compilation { var assembly = GetAssembly(id.FullName, reflectionOnly: true); foreach (var signature in MetadataSignatureHelper.GetMemberSignatures(assembly, fullyQualifiedTypeName, memberName)) { signatures.Add(signature); } } return(signatures); } catch (Exception ex) { var builder = new StringBuilder(); builder.AppendLine($"Error getting signatures {fullyQualifiedTypeName}.{memberName}"); builder.AppendLine($"Assemblies"); foreach (var module in _fullNameToAssemblyDataMap.Values) { builder.AppendLine($"\t{module.Id.SimpleName} {module.Id.Mvid} - {module.Kind} {_assemblyCache.GetOrDefault(module.Id, reflectionOnly: false) != null} {_assemblyCache.GetOrDefault(module.Id, reflectionOnly: true) != null}"); } throw new Exception(builder.ToString(), ex); } }
internal SortedSet <string> GetMemberSignaturesFromMetadata(string fullyQualifiedTypeName, string memberName) { var signatures = new SortedSet <string>(); foreach (var module in _modules) // Check inside each assembly in the compilation { foreach (var signature in MetadataSignatureHelper.GetMemberSignatures(GetAssembly(module.Key, true), fullyQualifiedTypeName, memberName)) { signatures.Add(signature); } } return(signatures); }