Viewing Intermediate Language (IL)
dotPeek allows you to study decompiled symbols in the intermediate language.
Using IL Viewer
When you open symbols from compiled assemblies, you can always study them in the intermediate language independently of their presentation in the code viewer. Even if the symbol is displayed in the original source file obtained through PDB, dotPeek will find the related piece of IL code for it.
To view intermediate language (IL) for a decompiled symbol
Right-click on a symbol in the code viewer and select View IL Code.
dotPeek will display the IL code corresponding to the symbol in the IL Viewer window.
If you are in decompiled code, you can also invoke the Navigate To () and choose IL Code.
By default, while the window is open the IL view is synchronized with the caret position in the code viewer and matching code is highlighted. To change that, click Track Caret in Editor on the toolbar of the IL Viewer.
In the IL Viewer window, you can learn descriptions of IL instructions in tooltips when hovering the mouse over an instruction. The descriptions are taken from MSDN and from the ECMA-335 standard (Partition III: CIL Instruction Set).
When you set the caret on a code symbol or instruction, all usages of this item are highlighted. Loops in your code can be distinguished by corresponding indents and comments.
If metadata tokens are enabled, they also appear in the IL code.
Viewing IL code as comments in decompiled code
For decompiled files, dotPeek can also include IL code right in the decompiled document as comments for the corresponding symbols (you can recognize decompiled files by the
// Decompiled with JetBrains decompiler comment in the first line).
By default, comments with IL code are disabled. To enable them, tick the corresponding check box on thepage of dotPeek options.
Note that as a result of navigation or search, you can get original source code fetched from local or remote location using PDB files and symbol servers, where no additional comments will be included. For more information about different ways of viewing code, see Code Presentation Options.