Browse Source

Collect namespaces of assembly and module attributes

pull/1198/head
Siegfried Pammer 7 years ago
parent
commit
0c6236ed7e
  1. 1
      ICSharpCode.Decompiler/CSharp/CSharpDecompiler.cs
  2. 5
      ICSharpCode.Decompiler/CSharp/RequiredNamespaceCollector.cs

1
ICSharpCode.Decompiler/CSharp/CSharpDecompiler.cs

@ -355,6 +355,7 @@ namespace ICSharpCode.Decompiler.CSharp @@ -355,6 +355,7 @@ namespace ICSharpCode.Decompiler.CSharp
CancellationToken = CancellationToken
};
syntaxTree = new SyntaxTree();
RequiredNamespaceCollector.CollectAttributeNamespaces(typeSystem, decompileRun.Namespaces);
DoDecompileModuleAndAssemblyAttributes(decompileRun, decompilationContext, syntaxTree);
RunTransforms(syntaxTree, decompileRun, decompilationContext);
return syntaxTree;

5
ICSharpCode.Decompiler/CSharp/RequiredNamespaceCollector.cs

@ -24,6 +24,11 @@ namespace ICSharpCode.Decompiler.CSharp @@ -24,6 +24,11 @@ namespace ICSharpCode.Decompiler.CSharp
foreach (var type in typeSystem.MainAssembly.TypeDefinitions) {
CollectNamespaces(type, typeSystem, namespaces);
}
CollectAttributeNamespaces(typeSystem, namespaces);
}
public static void CollectAttributeNamespaces(DecompilerTypeSystem typeSystem, HashSet<string> namespaces)
{
HandleAttributes(typeSystem.MainAssembly.AssemblyAttributes, namespaces);
HandleAttributes(typeSystem.MainAssembly.ModuleAttributes, namespaces);
}

Loading…
Cancel
Save