diff options
Diffstat (limited to 'src/mscorlib/src/System/Diagnostics/SymbolStore/ISymWriter.cs')
-rw-r--r-- | src/mscorlib/src/System/Diagnostics/SymbolStore/ISymWriter.cs | 78 |
1 files changed, 1 insertions, 77 deletions
diff --git a/src/mscorlib/src/System/Diagnostics/SymbolStore/ISymWriter.cs b/src/mscorlib/src/System/Diagnostics/SymbolStore/ISymWriter.cs index a0d3640c2c..bfe9133aee 100644 --- a/src/mscorlib/src/System/Diagnostics/SymbolStore/ISymWriter.cs +++ b/src/mscorlib/src/System/Diagnostics/SymbolStore/ISymWriter.cs @@ -20,13 +20,8 @@ namespace System.Diagnostics.SymbolStore { using System.Runtime.Versioning; // Interface does not need to be marked with the serializable attribute -[System.Runtime.InteropServices.ComVisible(true)] - public interface ISymbolWriter + internal interface ISymbolWriter { - // Set the IMetadataEmitter that this symbol writer is associated - // with. This must be done only once before any other ISymbolWriter - // methods are called. - void Initialize(IntPtr emitter, String filename, bool fFullBuild); // Define a source document. Guid's will be provided for the // languages, vendors, and document types that we currently know @@ -36,11 +31,6 @@ namespace System.Diagnostics.SymbolStore { Guid languageVendor, Guid documentType); - // Define the method that the user has defined as their entrypoint - // for this module. This would be, perhaps, the user's main method - // rather than compiler generated stubs before main. - void SetUserEntryPoint(SymbolToken entryMethod); - // Open a method to emit symbol information into. The given method // becomes the current method for calls do define sequence points, // parameters and lexical scopes. There is an implicit lexical @@ -88,9 +78,6 @@ namespace System.Diagnostics.SymbolStore { // last instruction in the scope. void CloseScope(int endOffset); - // Define the offset range for a given lexical scope. - void SetScopeRange(int scopeID, int startOffset, int endOffset); - // Define a single variable in the current lexical // scope. startOffset and endOffset are optional. If 0, then they // are ignored and the variable is defined over the entire @@ -109,80 +96,17 @@ namespace System.Diagnostics.SymbolStore { int startOffset, int endOffset); - // Define a single parameter in the current method. The type of - // each parameter is taken from its position (sequence) within the - // method's signature. - // - // Note: if parameters are defined in the metadata for a given - // method, then clearly one would not have to define them again - // with calls to this method. The symbol readers will have to be - // smart enough to check the normal metadata for these first then - // fall back to the symbol store. - void DefineParameter(String name, - ParameterAttributes attributes, - int sequence, - SymAddressKind addrKind, - int addr1, - int addr2, - int addr3); - - // Define a single variable not within a method. This is used for - // certian fields in classes, bitfields, etc. - void DefineField(SymbolToken parent, - String name, - FieldAttributes attributes, - byte[] signature, - SymAddressKind addrKind, - int addr1, - int addr2, - int addr3); - - // Define a single global variable. - void DefineGlobalVariable(String name, - FieldAttributes attributes, - byte[] signature, - SymAddressKind addrKind, - int addr1, - int addr2, - int addr3); - - // Close will close the ISymbolWriter and commit the symbols - // to the symbol store. The ISymbolWriter becomes invalid - // after this call for further updates. - void Close(); - // Defines a custom attribute based upon its name. Not to be // confused with Metadata custom attributes, these attributes are // held in the symbol store. void SetSymAttribute(SymbolToken parent, String name, byte[] data); - // Opens a new namespace. Call this before defining methods or - // variables that live within a namespace. Namespaces can be nested. - void OpenNamespace(String name); - - // Close the most recently opened namespace. - void CloseNamespace(); - // Specifies that the given, fully qualified namespace name is // being used within the currently open lexical scope. Closing the // current scope will also stop using the namespace, and the // namespace will be in use in all scopes that inherit from the // currently open scope. void UsingNamespace(String fullName); - - // Specifies the true start and end of a method within a source - // file. Use this to specify the extent of a method independently - // of what sequence points exist within the method. - void SetMethodSourceRange(ISymbolDocumentWriter startDoc, - int startLine, - int startColumn, - ISymbolDocumentWriter endDoc, - int endLine, - int endColumn); - - // Used to set the underlying ISymUnmanagedWriter that a - // managed ISymbolWriter may use to emit symbols with. - void SetUnderlyingWriter(IntPtr underlyingWriter); } } |