Browse Source

Fix #1166

pull/1167/head
CreateAndInject 7 years ago
parent
commit
f389e512ed
  1. 10
      ICSharpCode.Decompiler/CSharp/CSharpDecompiler.cs

10
ICSharpCode.Decompiler/CSharp/CSharpDecompiler.cs

@ -341,12 +341,9 @@ namespace ICSharpCode.Decompiler.CSharp
{ {
foreach (var a in typeSystem.Compilation.MainAssembly.AssemblyAttributes) { foreach (var a in typeSystem.Compilation.MainAssembly.AssemblyAttributes) {
decompileRun.Namespaces.Add(a.AttributeType.Namespace); decompileRun.Namespaces.Add(a.AttributeType.Namespace);
if (a.AttributeType.FullName == typeof(System.Runtime.CompilerServices.TypeForwardedToAttribute).FullName) { decompileRun.Namespaces.AddRange(a.PositionalArguments.Select(pa => pa.Type.Namespace));
decompileRun.Namespaces.Add(((TypeOfResolveResult)a.PositionalArguments[0]).ReferencedType.Namespace); decompileRun.Namespaces.AddRange(a.PositionalArguments.OfType<TypeOfResolveResult>().Select(pa => pa.ReferencedType.Namespace));
} else { decompileRun.Namespaces.AddRange(a.NamedArguments.Select(na => na.Value.Type.Namespace));
decompileRun.Namespaces.AddRange(a.PositionalArguments.Select(pa => pa.Type.Namespace));
decompileRun.Namespaces.AddRange(a.NamedArguments.Select(na => na.Value.Type.Namespace));
}
var astBuilder = CreateAstBuilder(decompilationContext); var astBuilder = CreateAstBuilder(decompilationContext);
var attrSection = new AttributeSection(astBuilder.ConvertAttribute(a)); var attrSection = new AttributeSection(astBuilder.ConvertAttribute(a));
attrSection.AttributeTarget = "assembly"; attrSection.AttributeTarget = "assembly";
@ -539,6 +536,7 @@ namespace ICSharpCode.Decompiler.CSharp
CollectNamespacesForDecompilation(new[] { tr.ResolveWithinSameModule() }, namespaces, visited); CollectNamespacesForDecompilation(new[] { tr.ResolveWithinSameModule() }, namespaces, visited);
} }
} }
namespaces.AddRange(ca.Properties.Select(pro => pro.Argument.Type.Namespace));
} }
} }

Loading…
Cancel
Save