Logo F# Compiler Guide

ILBinaryReader Module

 Binary reader.  Read a .NET binary and concert it to Abstract IL data
 structures.

 NOTE:
   - The metadata in the loaded modules will be relative to
     those modules, e.g. ILScopeRef.Local will mean "local to
     that module".  You must use [rescopeILType] etc. if you want to include
     (i.e. copy) the metadata into your own module.

   - PDB (debug info) reading/folding:
     The PDB reader is invoked if you give a PDB path
     This indicates if you want to search for PDB files and have the
     reader fold them in.  You cannot currently name the pdb file
     directly - you can only name the path.  Giving "None" says
     "do not read the PDB file even if one exists".

     The debug info appears primarily as I_seqpoint annotations in
     the instruction streams.  Unfortunately the PDB information does
     not, for example, tell you how to map back from a class definition
     to a source code line number - you will need to explicitly search
     for a sequence point in the code for one of the methods of the
     class.  That is not particularly satisfactory, and it may be
     a good idea to build a small library which extracts the information
     you need.

Types and nested modules

Type/Module Description

Shim

The public API hook for changing the IL assembly reader, used by Resharper

ILModuleReader

Represents a reader of the metadata of a .NET binary. May also give some values (e.g. IL code) from the PE file if it was provided.

ILReaderMetadataSnapshot

Used to implement a Binary file over native memory, used by Roslyn integration

ILReaderOptions

ILReaderTryGetMetadataSnapshot

MetadataOnlyFlag

ReduceMemoryFlag

Type something to start searching.