ISymbolWriter Interface

Definition

Represents a symbol writer for managed code.

public interface class ISymbolWriter
public interface ISymbolWriter
[System.Runtime.InteropServices.ComVisible(true)]
public interface ISymbolWriter
type ISymbolWriter = interface
[<System.Runtime.InteropServices.ComVisible(true)>]
type ISymbolWriter = interface
Public Interface ISymbolWriter
Derived
Attributes

Remarks

The ISymbolWriter interface provides methods that define documents, sequence points, lexical scopes, and variables.

Note

This interface is the managed counterpart of the ISymUnmanagedWriter interface, which is one of the unmanaged symbol store interfaces that provides an alternative way to read and write debug symbol information.

Methods

Close()

Closes ISymbolWriter and commits the symbols to the symbol store.

CloseMethod()

Closes the current method.

CloseNamespace()

Closes the most recent namespace.

CloseScope(Int32)

Closes the current lexical scope.

DefineDocument(String, Guid, Guid, Guid)

Defines a source document.

DefineField(SymbolToken, String, FieldAttributes, Byte[], SymAddressKind, Int32, Int32, Int32)

Defines a field in a type or a global field.

DefineGlobalVariable(String, FieldAttributes, Byte[], SymAddressKind, Int32, Int32, Int32)

Defines a single global variable.

DefineLocalVariable(String, FieldAttributes, Byte[], SymAddressKind, Int32, Int32, Int32, Int32, Int32)

Defines a single variable in the current lexical scope.

DefineParameter(String, ParameterAttributes, Int32, SymAddressKind, Int32, Int32, Int32)

Defines a single parameter in the current method. The type of each parameter is taken from its position within the signature of the method.

DefineSequencePoints(ISymbolDocumentWriter, Int32[], Int32[], Int32[], Int32[], Int32[])

Defines a group of sequence points within the current method.

Initialize(IntPtr, String, Boolean)

Sets the metadata emitter interface to associate with a writer.

OpenMethod(SymbolToken)

Opens a method to place symbol information into.

OpenNamespace(String)

Opens a new namespace.

OpenScope(Int32)

Opens a new lexical scope in the current method.

SetMethodSourceRange(ISymbolDocumentWriter, Int32, Int32, ISymbolDocumentWriter, Int32, Int32)

Specifies the true start and end of a method within a source file. Use SetMethodSourceRange(ISymbolDocumentWriter, Int32, Int32, ISymbolDocumentWriter, Int32, Int32) to specify the extent of a method, independent of the sequence points that exist within the method.

SetScopeRange(Int32, Int32, Int32)

Defines the offset range for the specified lexical scope.

SetSymAttribute(SymbolToken, String, Byte[])

Defines an attribute when given the attribute name and the attribute value.

SetUnderlyingWriter(IntPtr)

Sets the underlying ISymUnmanagedWriter (the corresponding unmanaged interface) that a managed ISymbolWriter uses to emit symbols.

SetUserEntryPoint(SymbolToken)

Identifies the user-defined method as the entry point for the current module.

UsingNamespace(String)

Specifies that the given, fully qualified namespace name is used within the open lexical scope.

Applies to

See also