protected override void LoadChildren() { foreach (var r in module.GetAssemblyRefs().OrderBy(r => r.Name.String)) { this.Children.Add(new AssemblyReferenceTreeNode(r, parentAssembly, dnSpyFileListTreeNode)); } foreach (var r in module.GetModuleRefs().OrderBy(r => r.Name.String)) { this.Children.Add(new ModuleReferenceTreeNode(r)); } }
public static bool ReferencesModule(ModuleDef sourceModule, ModuleDef targetModule) { if (targetModule == null) { return(false); } if (sourceModule == targetModule) { return(true); } var targetAssembly = targetModule.Assembly; if (targetAssembly != null) { // Don't compare version, there could be binding redirects var asmComparer = new AssemblyNameComparer(AssemblyNameComparerFlags.Name | AssemblyNameComparerFlags.PublicKeyToken | AssemblyNameComparerFlags.Culture | AssemblyNameComparerFlags.ContentType); foreach (var asmRef in sourceModule.GetAssemblyRefs()) { if (asmComparer.Equals(asmRef, targetAssembly)) { return(true); } } if (targetAssembly == sourceModule.Assembly) { foreach (var modRef in sourceModule.GetModuleRefs()) { if (StringComparer.OrdinalIgnoreCase.Equals(modRef.Name.String, targetModule.Name.String)) { return(true); } } } } return(false); }