Browse Source

Fix BadImageFormatException when accessing standalone signatures.

pull/1716/head
Siegfried Pammer 5 years ago
parent
commit
2b7b040dd9
  1. 8
      ICSharpCode.Decompiler/IL/InstructionOutputExtensions.cs

8
ICSharpCode.Decompiler/IL/InstructionOutputExtensions.cs

@ -253,16 +253,16 @@ namespace ICSharpCode.Decompiler.IL @@ -253,16 +253,16 @@ namespace ICSharpCode.Decompiler.IL
break;
case HandleKind.StandaloneSignature:
var standaloneSig = metadata.GetStandaloneSignature((StandaloneSignatureHandle)entity);
switch (standaloneSig.GetKind()) {
case StandaloneSignatureKind.Method:
var header = metadata.GetBlobReader(standaloneSig.Signature).ReadSignatureHeader();
switch (header.Kind) {
case SignatureKind.Method:
methodSignature = standaloneSig.DecodeMethodSignature(new DisassemblerSignatureTypeProvider(module, output), genericContext);
WriteSignatureHeader(output, methodSignature);
methodSignature.ReturnType(ILNameSyntax.SignatureNoNamedTypeParameters);
WriteParameterList(output, methodSignature);
break;
case StandaloneSignatureKind.LocalVariables:
default:
output.Write($"@{MetadataTokens.GetToken(entity):X8} /* signature {standaloneSig.GetKind()} */");
output.Write($"@{MetadataTokens.GetToken(entity):X8} /* signature {header.Kind} */");
break;
}
break;

Loading…
Cancel
Save