#[non_exhaustive]pub enum SymbolData<'t> {
Show 52 variants
ScopeEnd,
ObjName(ObjNameSymbol<'t>),
RegisterVariable(RegisterVariableSymbol<'t>),
Constant(ConstantSymbol<'t>),
UserDefinedType(UserDefinedTypeSymbol<'t>),
MultiRegisterVariable(MultiRegisterVariableSymbol<'t>),
Data(DataSymbol<'t>),
Public(PublicSymbol<'t>),
Procedure(ProcedureSymbol<'t>),
ManagedProcedure(ManagedProcedureSymbol<'t>),
ThreadStorage(ThreadStorageSymbol<'t>),
CompileFlags(CompileFlagsSymbol<'t>),
UsingNamespace(UsingNamespaceSymbol<'t>),
ProcedureReference(ProcedureReferenceSymbol<'t>),
DataReference(DataReferenceSymbol<'t>),
Annotation(AnnotationSymbol<'t>),
AnnotationReference(AnnotationReferenceSymbol<'t>),
TokenReference(TokenReferenceSymbol<'t>),
Trampoline(TrampolineSymbol),
Export(ExportSymbol<'t>),
Local(LocalSymbol<'t>),
ManagedSlot(ManagedSlotSymbol<'t>),
BuildInfo(BuildInfoSymbol),
InlineSite(InlineSiteSymbol<'t>),
InlineSiteEnd,
ProcedureEnd,
Label(LabelSymbol<'t>),
Block(BlockSymbol<'t>),
RegisterRelative(RegisterRelativeSymbol<'t>),
Thunk(ThunkSymbol<'t>),
SeparatedCode(SeparatedCodeSymbol),
OEM(OemSymbol<'t>),
EnvBlock(EnvBlockSymbol<'t>),
Section(SectionSymbol<'t>),
CoffGroup(CoffGroupSymbol<'t>),
DefRange(DefRangeSymbol),
DefRangeSubField(DefRangeSubFieldSymbol),
DefRangeRegister(DefRangeRegisterSymbol),
DefRangeFramePointerRelative(DefRangeFramePointerRelativeSymbol),
DefRangeFramePointerRelativeFullScope(DefRangeFramePointerRelativeFullScopeSymbol),
DefRangeSubFieldRegister(DefRangeSubFieldRegisterSymbol),
DefRangeRegisterRelative(DefRangeRegisterRelativeSymbol),
BasePointerRelative(BasePointerRelativeSymbol<'t>),
FrameProcedure(FrameProcedureSymbol),
CallSiteInfo(CallSiteInfoSymbol),
Callers(FunctionListSymbol),
Callees(FunctionListSymbol),
Inlinees(InlineesSymbol),
ArmSwitchTable(ArmSwitchTableSymbol),
HeapAllocationSite(HeapAllocationSiteSymbol),
FrameCookie(FrameCookieSymbol),
FileStatic(FileStaticSymbol<'t>),
}Expand description
Information parsed from a Symbol record.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
ScopeEnd
End of a scope, such as a procedure.
ObjName(ObjNameSymbol<'t>)
Name of the object file of this module.
RegisterVariable(RegisterVariableSymbol<'t>)
A Register variable.
Constant(ConstantSymbol<'t>)
A constant value.
UserDefinedType(UserDefinedTypeSymbol<'t>)
A user defined type.
MultiRegisterVariable(MultiRegisterVariableSymbol<'t>)
A Register variable spanning multiple registers.
Data(DataSymbol<'t>)
Static data, such as a global variable.
Public(PublicSymbol<'t>)
A public symbol with a mangled name.
Procedure(ProcedureSymbol<'t>)
A procedure, such as a function or method.
ManagedProcedure(ManagedProcedureSymbol<'t>)
A managed procedure, such as a function or method.
ThreadStorage(ThreadStorageSymbol<'t>)
A thread local variable.
CompileFlags(CompileFlagsSymbol<'t>)
Flags used to compile a module.
UsingNamespace(UsingNamespaceSymbol<'t>)
A using namespace directive.
ProcedureReference(ProcedureReferenceSymbol<'t>)
Reference to a ProcedureSymbol.
DataReference(DataReferenceSymbol<'t>)
Reference to an imported variable.
Annotation(AnnotationSymbol<'t>)
Collection of annotation strings.
AnnotationReference(AnnotationReferenceSymbol<'t>)
Reference to an annotation.
TokenReference(TokenReferenceSymbol<'t>)
Reference to a managed procedure.
Trampoline(TrampolineSymbol)
Trampoline thunk.
Export(ExportSymbol<'t>)
An exported symbol.
Local(LocalSymbol<'t>)
A local symbol in optimized code.
ManagedSlot(ManagedSlotSymbol<'t>)
A managed local variable slot.
BuildInfo(BuildInfoSymbol)
Reference to build information.
InlineSite(InlineSiteSymbol<'t>)
The callsite of an inlined function.
InlineSiteEnd
End of an inline callsite.
ProcedureEnd
End of a procedure.
Label(LabelSymbol<'t>)
A label.
Block(BlockSymbol<'t>)
A block.
RegisterRelative(RegisterRelativeSymbol<'t>)
Data allocated relative to a register.
Thunk(ThunkSymbol<'t>)
A thunk.
SeparatedCode(SeparatedCodeSymbol)
A block of separated code.
OEM(OemSymbol<'t>)
OEM information.
EnvBlock(EnvBlockSymbol<'t>)
Environment block split off from S_COMPILE2.
Section(SectionSymbol<'t>)
A COFF section in a PE executable.
CoffGroup(CoffGroupSymbol<'t>)
A COFF group.
DefRange(DefRangeSymbol)
A live range of a variable.
DefRangeSubField(DefRangeSubFieldSymbol)
A live range of a sub field of a variable.
DefRangeRegister(DefRangeRegisterSymbol)
A live range of a register variable.
DefRangeFramePointerRelative(DefRangeFramePointerRelativeSymbol)
A live range of a frame pointer-relative variable.
DefRangeFramePointerRelativeFullScope(DefRangeFramePointerRelativeFullScopeSymbol)
A frame-pointer variable which is valid in the full scope of the function.
DefRangeSubFieldRegister(DefRangeSubFieldRegisterSymbol)
A live range of a sub field of a register variable.
DefRangeRegisterRelative(DefRangeRegisterRelativeSymbol)
A live range of a variable related to a register.
BasePointerRelative(BasePointerRelativeSymbol<'t>)
A base pointer-relative variable.
FrameProcedure(FrameProcedureSymbol)
Extra frame and proc information.
CallSiteInfo(CallSiteInfoSymbol)
Indirect call site information.
Callers(FunctionListSymbol)
Callers of a function.
Callees(FunctionListSymbol)
Callees of a function.
Inlinees(InlineesSymbol)
Inlinees of a function.
ArmSwitchTable(ArmSwitchTableSymbol)
Describes the layout of a jump table
HeapAllocationSite(HeapAllocationSiteSymbol)
Heap allocation site
FrameCookie(FrameCookieSymbol)
A security cookie on a stack frame
FileStatic(FileStaticSymbol<'t>)
A static file symbol.
Implementations§
Trait Implementations§
Source§impl<'t> Clone for SymbolData<'t>
impl<'t> Clone for SymbolData<'t>
Source§fn clone(&self) -> SymbolData<'t>
fn clone(&self) -> SymbolData<'t>
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more