C# Class Microsoft.CodeAnalysis.BinaryParsers.ProgramDatabase.Symbol

Class Symbol hides a number of COM interface details from .NET callers of the Debug Interface Access (DIA) SDK. For example, this type hides the IEnumXxx COM pattern from callers when enumerating child symbols. For example, this type implements IDisposable and destroys the symbol (thereby potentially unlocking the underlying PDB) when dispose is called.
Inheritance: IDisposable
Datei anzeigen Open project: Microsoft/binskim

Private Properties

Property Type Description
AssertNotDisposed void
CreateChildrenImpl IEnumerable
Symbol System

Public Methods

Method Description
Create ( IDiaSymbol symbol ) : Symbol

Creates a new Symbol around a COM IDiaSymbol implementation.

CreateChildIterator ( SymTagEnum symbolTagType ) : DisposableEnumerable

Creates symbols which are children of this symbol of the specified type.

CreateChildren ( ) : DisposableEnumerable

Creates all symbols which are children of this symbol.

CreateChildren ( SymTagEnum symbolTagType, string symbolName, NameSearchOptions searchOptions ) : DisposableEnumerable
CreateCompilandRecord ( ) : CompilandRecord

Gets compiland record for this symbol.

CreateCompilandRecordWithSuffix ( string suffix ) : CompilandRecord

Creates compiland record for this symbol with the supplied suffix.

CreateType ( ) : Symbol

Returns the type for a variable, the signature for the function, and so forth.

Dispose ( ) : void
GetObjectFileHash ( Pdb session ) : byte[]

The library "hash". This is an XOR of the 1st 16 bytes of all source file hashes.

GetObjectModuleDetails ( ) : Microsoft.CodeAnalysis.BinaryParsers.ProgramDatabase.ObjectModuleDetails
GetUndecoratedName ( ) : string

Gets the undecorated name with some C fixups. (The variable "name" returns the decorated name for C++, but the undecorated name for C; and for C++ this is reversed)

ToString ( ) : string

Private Methods

Method Description
AssertNotDisposed ( ) : void
CreateChildrenImpl ( SymTagEnum symbolTagType, string symbolName, NameSearchOptions searchOptions ) : IEnumerable
Symbol ( IDiaSymbol sym ) : System

Method Details

Create() public static method

Creates a new Symbol around a COM IDiaSymbol implementation.
public static Create ( IDiaSymbol symbol ) : Symbol
symbol IDiaSymbol The symbol to wrap, or null. This method takes ownership of the COM RCW.
return Symbol

CreateChildIterator() public method

Creates symbols which are children of this symbol of the specified type.
public CreateChildIterator ( SymTagEnum symbolTagType ) : DisposableEnumerable
symbolTagType SymTagEnum Type of the symbols to retrieve.
return DisposableEnumerable

CreateChildren() public method

Creates all symbols which are children of this symbol.
public CreateChildren ( ) : DisposableEnumerable
return DisposableEnumerable

CreateChildren() public method

public CreateChildren ( SymTagEnum symbolTagType, string symbolName, NameSearchOptions searchOptions ) : DisposableEnumerable
symbolTagType SymTagEnum
symbolName string
searchOptions NameSearchOptions
return DisposableEnumerable

CreateCompilandRecord() public method

Gets compiland record for this symbol.
public CreateCompilandRecord ( ) : CompilandRecord
return CompilandRecord

CreateCompilandRecordWithSuffix() public method

Creates compiland record for this symbol with the supplied suffix.
public CreateCompilandRecordWithSuffix ( string suffix ) : CompilandRecord
suffix string The suffix to use.
return CompilandRecord

CreateType() public method

Returns the type for a variable, the signature for the function, and so forth.
public CreateType ( ) : Symbol
return Symbol

Dispose() public method

public Dispose ( ) : void
return void

GetObjectFileHash() public method

The library "hash". This is an XOR of the 1st 16 bytes of all source file hashes.
public GetObjectFileHash ( Pdb session ) : byte[]
session Pdb
return byte[]

GetObjectModuleDetails() public method

public GetObjectModuleDetails ( ) : Microsoft.CodeAnalysis.BinaryParsers.ProgramDatabase.ObjectModuleDetails
return Microsoft.CodeAnalysis.BinaryParsers.ProgramDatabase.ObjectModuleDetails

GetUndecoratedName() public method

Gets the undecorated name with some C fixups. (The variable "name" returns the decorated name for C++, but the undecorated name for C; and for C++ this is reversed)
public GetUndecoratedName ( ) : string
return string

ToString() public method

public ToString ( ) : string
return string