// 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() {
}
}
}