public interface ISymbolWriter
|
Close | Closes ISymbolWriter and commits the symbols to the symbol store. |
CloseMethod | Closes the current method. |
CloseNamespace | Closes the most recent namespace. |
CloseScope | Closes the current lexical scope. |
DefineDocument | Defines a source document. |
DefineField | Defines a field in a type or a global field. |
DefineGlobalVariable | Defines a single global variable. |
DefineLocalVariable | Defines a single variable in the current lexical scope. |
DefineParameter | 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 | Defines a group of sequence points within the current method. |
Initialize | Sets the metadata emitter interface to associate with a writer. |
OpenMethod | Opens a method to place symbol information into. |
OpenNamespace | Opens a new namespace. |
OpenScope | Opens a new lexical scope in the current method. |
SetMethodSourceRange | Specifies the true start and end of a method within a source file. Use ISymbolWriter.SetMethodSourceRange to specify the extent of a method, independent of the sequence points that exist within the method. |
SetScopeRange | Defines the offset range for the specified lexical scope. |
SetSymAttribute | Defines an attribute when given the attribute name and the attribute value. |
SetUnderlyingWriter | Sets the underlying ISymUnmanagedWriter (the corresponding unmanaged API) that a managed ISymbolWriter uses to emit symbols. |
SetUserEntryPoint | Identifies the user-defined method as the entry point for the current module. |
UsingNamespace | Specifies that the given, fully-qualified namespace name is used within the open lexical scope. |
void Close(); |
void CloseMethod(); |
void CloseNamespace(); |
void CloseScope( |
endOffset
ISymbolDocumentWriter DefineDocument( |
url
language
languageVendor
documentType
void DefineField( |
parent
name
attributes
signature
addrKind
addr1
addr2
addr3
void DefineGlobalVariable( |
name
attributes
signature
addrKind
addr1
addr2
addr3
void DefineLocalVariable( |
name
attributes
signature
addrKind
addr1
addr2
addr3
startOffset
endOffset
You can call ISymbolWriter.DefineLocalVariable multiple times for a variable of the same name that occurs multiple times in different offset ranges throughout a scope. (In this case, start and end offsets must not overlap.)
void DefineParameter( |
name
attributes
sequence
addrKind
addr1
addr2
addr3
void DefineSequencePoints( |
document
offsets
lines
columns
endLines
endColumns
emitter
filename
fFullBuild
void OpenMethod( |
method
void OpenNamespace( |
name
startOffset
Scope identifiers are only valid in the current method.
void SetMethodSourceRange( |
startDoc
startLine
startColumn
endDoc
endLine
endColumn
scopeID
startOffset
endOffset
void SetSymAttribute( |
parent
name
data
void SetUnderlyingWriter( |
underlyingWriter
void SetUserEntryPoint( |
entryMethod
void UsingNamespace( |
fullName