using System;
using System.Collections.Generic;
using System.Reflection.Metadata;
namespace Semmle.Extraction.PDB
{
///
/// Wrapper for reading PDB files.
/// This is needed because there are different libraries for dealing with
/// different types of PDB file, even though they share the same file extension.
///
public interface IPdb : IDisposable
{
///
/// Gets all source files in this PDB.
///
IEnumerable SourceFiles { get; }
///
/// Look up a method from a given handle.
///
/// The handle to query.
/// The method information, or null if the method does not have debug information.
Method? GetMethod(MethodDebugInformationHandle methodHandle);
}
}