obfuz/Plugins/dnlib/DotNet/Pdb/WindowsPdb/SymbolWriter.cs

37 lines
1.9 KiB
C#
Raw Normal View History

// dnlib: See LICENSE.txt for more info
using System;
using System.Diagnostics.SymbolStore;
using dnlib.DotNet.Writer;
namespace dnlib.DotNet.Pdb.WindowsPdb {
abstract class SymbolWriter : IDisposable {
public abstract bool IsDeterministic { get; }
public abstract bool SupportsAsyncMethods { get; }
public abstract void Initialize(Metadata metadata);
public abstract void Close();
public abstract bool GetDebugInfo(ChecksumAlgorithm pdbChecksumAlgorithm, ref uint pdbAge, out Guid guid, out uint stamp, out IMAGE_DEBUG_DIRECTORY pIDD, out byte[] codeViewData);
public abstract void SetUserEntryPoint(MDToken entryMethod);
public abstract ISymbolDocumentWriter DefineDocument(string url, Guid language, Guid languageVendor, Guid documentType);
public abstract void SetSourceServerData(byte[] data);
public abstract void SetSourceLinkData(byte[] data);
public abstract void OpenMethod(MDToken method);
public abstract void CloseMethod();
public abstract int OpenScope(int startOffset);
public abstract void CloseScope(int endOffset);
public abstract void SetSymAttribute(MDToken parent, string name, byte[] data);
public abstract void UsingNamespace(string fullName);
public abstract void DefineSequencePoints(ISymbolDocumentWriter document, uint arraySize, int[] offsets, int[] lines, int[] columns, int[] endLines, int[] endColumns);
public abstract void DefineLocalVariable(string name, uint attributes, uint sigToken, uint addrKind, uint addr1, uint addr2, uint addr3, uint startOffset, uint endOffset);
public abstract void DefineConstant(string name, object value, uint sigToken);
public abstract void DefineKickoffMethod(uint kickoffMethod);
public abstract void DefineCatchHandlerILOffset(uint catchHandlerOffset);
public abstract void DefineAsyncStepInfo(uint[] yieldOffsets, uint[] breakpointOffset, uint[] breakpointMethod);
public abstract void Dispose();
}
}