Closed Piedone closed 4 years ago
Done, will be part of the next release.
Guys this was an epic upgrade :D. @siegfriedpammer @christophwille @dgrunwald But it's very well worth it. I could remove a lot of workarounds and special case handling from Hastlayer.
See important info:
DecompilerContext
andAstBuilder
removed.Also:
ILRange
is now part ofILInstruction
instead of being an annotation.GetCecil()
doesn't exist any more):And: https://github.com/icsharpcode/ILSpy/blob/cd2896e3e9989d092419aea92bd8417eb7e2e485/ICSharpCode.Decompiler.PdbProvider.Cecil/MonoCecilDebugInfoProvider.cs
But with v4.0, the underlying decompiler and disassembler engine have been ported to System.Reflection.Metadata, see: https://github.com/icsharpcode/ILSpy/wiki/srm
There is still
TypeDeclaration
but now there is also anITypeDefinition
which is similar to what was in Mono.Cecil and can be retrieved from various places viaGetDefinition()
. Then there isIEntity.MetadataToken
as well, which is supposed to provide whatGetCecil()
did.After this, the workaround for the ILSpy large integer literal bug can be removed, see
DecompilationErrorsFixer
andWronglyDecompiledCases
.JIRA issue