CilTools.BytecodeAnalysis
- Add IReflectionInfo interface to enable custom properties on reflection objects (implemented by classes in CilTools.Metadata)
- Add CilInstruction.ToSyntax()
- Add Disassembler.GetAssemblyManifestSyntaxNodes
- Add IParamsProvider interface (enables getting method parameters without resolving external assembly references, implemented by classes in CilTools.Metadata)
- Support parameters and return type custom attributes
- Support field custom attributes
- Support
.override
and.vtentry
directives - Support events in type disassembler
- Support vararg sentinel (...) in method signatures
- Support
specialname
andrtspecialname
attributes on methods - Skip assembly name for types in the same assembly
- Escape special characters in identifiers
- Escape slash in string literals
- Fix base type syntax in GetTypeDefSyntax
- Fix TypeSpec.IsValueType for byref target types and generics
- Fix extra whitepaces after directive names
- Fix constructors to have void return type in disassembled CIL
- Fix ldtoken syntax for types
- Fix CilParserException when exception handler block closes after the last instruction in the method body
- Fix literal syntax for enum and boolean types
- Fix
serializable
attribute handling - Fix type name representation in syntax API (now namespace is handled as a separate identifier token)
- Fix detection of
<Module>
type (global fields and functions)
CilTools.Runtime
- Implement GetReferencedAssemblies and ManifestModule on DynamicMethodsAssembly
CilTools.CommandLine
- Add view-source command
- Add fileinfo command
- Add support for viewing assembly manifest to view command
- Add assembly disassembling support to disasm command
- Roll-forward to next major versions of .NET Runtime
The view-source command enables you to display source code of the specified method based on info in debugging symbols (if they are present) or decompiled source (currently only a limited decompilation support for methods without body, i.e, abstract or pinvoke).
The fileinfo command displays information about assembly files, such as PE header data or assembly-level custom attributes.
The Roll-forward feature means that you can run the app on .NET 5.0+, even though it targets .NET Core 3.1.
CIL View
- Add Source Link support for Portable PDB symbols
- Add source code syntax highlighting
- Add instruction info
- Add IL syntax highlighting in SourceViewWindow
- Add support for viewing assembly manifest and Export assembly to file menu command
- Add Recent files menu
- Add HTML help
- Change default filter in Open File dialog to include all supported file types (instead of only .dll and .exe)
- Disable formatted view for .il files larger then 1 MB
- Support viewing separate types from .il files
- Load .il files in background
New Source view UI look with syntax highlighting: