private Dictionary <string, List <string> > GetModuleCollisionTypesData(ModuleDefinition module, ILanguage language) { V_0 = new Dictionary <string, List <string> >(language.get_IdentifierComparer()); V_1 = new Dictionary <string, string>(language.get_IdentifierComparer()); this.UpdateCollisionTypesDataWithTypes(V_0, V_1, module.get_Types()); V_2 = this.GetModuleDependsOnAnalysis(module); if (Mono.Cecil.AssemblyResolver.Extensions.IsReferenceAssembly(module)) { stackVariable16 = 1; } else { stackVariable16 = 0; } V_3 = stackVariable16; V_4 = V_2.get_Keys().GetEnumerator(); try { while (V_4.MoveNext()) { V_5 = V_4.get_Current(); V_6 = module.get_AssemblyResolver().Resolve(V_5, "", ModuleDefinitionExtensions.GetModuleArchitecture(module), V_3, true); if (V_6 == null) { this.UpdateCollisionTypesDataWithTypes(V_0, V_1, V_2.get_Item(V_5)); } else { V_7 = V_6.get_Modules().GetEnumerator(); try { while (V_7.MoveNext()) { V_8 = V_7.get_Current(); this.UpdateCollisionTypesDataWithTypes(V_0, V_1, V_8.get_Types()); } } finally { V_7.Dispose(); } } } } finally { ((IDisposable)V_4).Dispose(); } return(V_0); }
private Dictionary <string, HashSet <string> > GetModuleNamespaceHierarchy(ModuleDefinition module, ILanguage language) { V_0 = new Dictionary <string, HashSet <string> >(language.get_IdentifierComparer()); this.UpdateNamespaceHiearchyDataWithTypes(V_0, module.get_Types()); V_1 = this.GetModuleDependsOnAnalysis(module); if (Mono.Cecil.AssemblyResolver.Extensions.IsReferenceAssembly(module)) { stackVariable12 = 1; } else { stackVariable12 = 0; } V_2 = stackVariable12; V_3 = V_1.get_Keys().GetEnumerator(); try { while (V_3.MoveNext()) { V_4 = V_3.get_Current(); V_5 = module.get_AssemblyResolver().Resolve(V_4, "", ModuleDefinitionExtensions.GetModuleArchitecture(module), V_2, true); if (V_5 == null) { this.UpdateNamespaceHiearchyDataWithTypes(V_0, V_1.get_Item(V_4)); } else { this.UpdateNamespaceHiearchyDataWithTypes(V_0, V_5.get_MainModule().get_Types()); } } } finally { ((IDisposable)V_3).Dispose(); } return(V_0); }