pub enum InstructionTextTokenKind {
Show 54 variants
Text,
Instruction,
OperandSeparator,
Register,
Integer {
value: u64,
size: Option<usize>,
operand: Option<usize>,
},
PossibleAddress {
value: u64,
size: Option<usize>,
operand: Option<usize>,
},
BeginMemoryOperand,
EndMemoryOperand,
FloatingPoint {
value: f64,
size: Option<usize>,
},
Annotation,
CodeRelativeAddress {
value: u64,
size: Option<usize>,
operand: Option<usize>,
},
ArgumentName {
value: u64,
},
HexDumpByteValue {
value: u8,
},
HexDumpSkippedByte,
HexDumpInvalidByte,
HexDumpText {
width: u64,
},
Opcode,
String {
value: u64,
},
StringContent {
ty: StringType,
},
CharacterConstant {
operand: Option<usize>,
},
Keyword {
value: u64,
},
TypeName,
FieldName {
offset: u64,
type_names: Vec<String>,
},
NameSpace,
NameSpaceSeparator,
Tag,
StructOffset {
offset: u64,
type_names: Vec<String>,
},
StructOffsetByteValue,
StructureHexDumpText {
width: u64,
},
GotoLabel {
target: u64,
},
Comment {
target: u64,
},
PossibleValue {
value: u64,
},
PossibleValueType,
ArrayIndex {
index: u64,
},
Indentation,
UnknownMemory,
EnumerationMember {
value: u64,
type_id: Option<String>,
},
Operation,
BaseStructureName,
BaseStructureSeparator,
Brace {
hash: Option<u64>,
},
ValueLocation,
CodeSymbol {
value: u64,
size: usize,
},
DataSymbol {
value: u64,
size: usize,
},
LocalVariable {
variable_id: u64,
ssa_version: usize,
},
Import {
target: u64,
},
AddressDisplay {
address: u64,
},
IndirectImport {
target: u64,
size: usize,
source_operand: usize,
},
ExternalSymbol {
value: u64,
},
StackVariable {
variable_id: u64,
},
AddressSeparator,
CollapsedInformation,
CollapseStateIndicator {
hash: Option<u64>,
},
NewLine {
value: u64,
},
}Variants§
Text
Instruction
OperandSeparator
Separator between operands, such as , or +.
This is primarily used to identify the tokens associated with a given operand.
Register
Integer
Fields
operand: Option<usize>The operand this integer is associated with.
This is primarily used to change the display type of the integer.
NOTE: This will be populated by a post-processing step when rendering, so you can leave this
as None when emitting in Architecture::instruction_text and other similar methods.
PossibleAddress
Fields
operand: Option<usize>The operand this integer is associated with.
This is primarily used to change the display type of the integer.
NOTE: This will be populated by a post-processing step when rendering, so you can leave this
as None when emitting in Architecture::instruction_text and other similar methods.
BeginMemoryOperand
EndMemoryOperand
FloatingPoint
Annotation
CodeRelativeAddress
Fields
operand: Option<usize>The operand this integer is associated with.
This is primarily used to change the display type of the integer.
NOTE: This will be populated by a post-processing step when rendering, so you can leave this
as None when emitting in Architecture::instruction_text and other similar methods.
ArgumentName
HexDumpByteValue
HexDumpSkippedByte
HexDumpInvalidByte
HexDumpText
Opcode
String
StringContent
String content is only present for:
Fields
ty: StringTypeCharacterConstant
Fields
operand: Option<usize>The operand this character is associated with.
This is primarily used to change the display type of the character.
NOTE: This will be populated by a post-processing step when rendering, so you can leave this
as None when emitting in Architecture::instruction_text and other similar methods.
Keyword
TypeName
FieldName
Fields
NameSpace
NameSpaceSeparator
Tag
StructOffset
Fields
StructOffsetByteValue
StructureHexDumpText
GotoLabel
Comment
PossibleValue
PossibleValueType
ArrayIndex
Indentation
UnknownMemory
EnumerationMember
Operation
Operations like +, -, %
BaseStructureName
BaseStructureSeparator
Brace
ValueLocation
CodeSymbol
DataSymbol
LocalVariable
Import
AddressDisplay
IndirectImport
Fields
target: u64The address of the import
If you want the address of the import token use InstructionTextToken::address instead.
ExternalSymbol
StackVariable
AddressSeparator
CollapsedInformation
CollapseStateIndicator
NewLine
Trait Implementations§
Source§impl Clone for InstructionTextTokenKind
impl Clone for InstructionTextTokenKind
Source§fn clone(&self) -> InstructionTextTokenKind
fn clone(&self) -> InstructionTextTokenKind
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for InstructionTextTokenKind
impl Debug for InstructionTextTokenKind
Source§impl From<InstructionTextTokenKind> for BNInstructionTextTokenType
impl From<InstructionTextTokenKind> for BNInstructionTextTokenType
Source§fn from(value: InstructionTextTokenKind) -> Self
fn from(value: InstructionTextTokenKind) -> Self
Source§impl PartialEq for InstructionTextTokenKind
impl PartialEq for InstructionTextTokenKind
impl Eq for InstructionTextTokenKind
impl StructuralPartialEq for InstructionTextTokenKind
Auto Trait Implementations§
impl Freeze for InstructionTextTokenKind
impl RefUnwindSafe for InstructionTextTokenKind
impl Send for InstructionTextTokenKind
impl Sync for InstructionTextTokenKind
impl Unpin for InstructionTextTokenKind
impl UnsafeUnpin for InstructionTextTokenKind
impl UnwindSafe for InstructionTextTokenKind
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more