// dnlib: See LICENSE.txt for more info using System; using System.Collections.Generic; namespace dnlib.DotNet.Pdb.Symbols { /// /// Reads symbols from a PDB file /// public abstract class SymbolReader : IDisposable { /// /// Called by the owner module before any other methods and properties are called /// /// Owner module public abstract void Initialize(ModuleDef module); /// /// Gets the PDB file kind /// public abstract PdbFileKind PdbFileKind { get; } /// /// Gets the user entry point token or 0 if none /// public abstract int UserEntryPoint { get; } /// /// Gets all documents /// public abstract IList Documents { get; } /// /// Gets a method or returns null if the method doesn't exist in the PDB file /// /// Method /// Edit and continue version. The first version is 1 /// public abstract SymbolMethod GetMethod(MethodDef method, int version); /// /// Reads custom debug info /// /// Token of a instance /// Generic parameter context /// Updated with custom debug info public abstract void GetCustomDebugInfos(int token, GenericParamContext gpContext, IList result); /// /// Cleans up resources /// public virtual void Dispose() { } } }