ILSpy
ILSpy copied to clipboard
Decompile base & derived types in place
Problem
The list of base and derived types in ILSpy does not show anything useful in the output. At least assembly name and list of base types would be helpful, but I don't see any reason why the whole type, which already provides this information, cannot be decompiled in place - it is a simple change in the code and users do not have to jump back and forth when going through and comparing the implementations.
Solution
- This PR makes the base and derived type nodes decompile the respective types.
- The parent nodes (
BaseTypesTreeNodeandDerivedTypesTreeNode) were calling all children to decompile. However, with increasing information in child nodes, it is not sustainable. They now explicitly list the children type names only, like they did before. - While trivial in base types, the derived types are loaded asynchronously and children are not available on first decompilation. I don't see any easy way to await/add continuation to the loading, but I did not deem the output of Derived Types node to be critical enough, so the output will be empty the first time. Open to ideas if that is not satisfactory.