Enum pdb::BinaryAnnotation
source · [−]pub enum BinaryAnnotation {
Show 13 variants
CodeOffset(u32),
ChangeCodeOffsetBase(u32),
ChangeCodeOffset(u32),
ChangeCodeLength(u32),
ChangeFile(FileIndex),
ChangeLineOffset(i32),
ChangeLineEndDelta(u32),
ChangeRangeKind(u32),
ChangeColumnStart(u32),
ChangeColumnEndDelta(i32),
ChangeCodeOffsetAndLineOffset(u32, i32),
ChangeCodeLengthAndCodeOffset(u32, u32),
ChangeColumnEnd(u32),
}
Expand description
Represents a parsed BinaryAnnotation
.
Binary annotations are used by S_INLINESITE
to encode opcodes for how to
evaluate the state changes for inline information.
Variants
CodeOffset(u32)
Sets the code offset to the given absolute value.
ChangeCodeOffsetBase(u32)
Sets the base for all code offsets to the given absolute value. All following code offsets are relative to this base value.
ChangeCodeOffset(u32)
Emitting. Advances the code offset by the given value.
This annotation emits a line record. The length of the covered code block can be established
by a following ChangeCodeLength
annotation, or by the offset of the next emitted record.
ChangeCodeLength(u32)
Adjusts the code length of the previously emitted line record. The code length resets with every line record.
ChangeFile(FileIndex)
Sets the file index of following line records.
ChangeLineOffset(i32)
Advances the line number by the given value.
ChangeLineEndDelta(u32)
Sets the number of source lines covered by following line records. Defaults to 1
.
ChangeRangeKind(u32)
Sets the kind of the line record. Defaults to Statement
.
ChangeColumnStart(u32)
Sets the start column number. Defaults to None
.
ChangeColumnEndDelta(i32)
Advances the end column number by the given value.
ChangeCodeOffsetAndLineOffset(u32, i32)
Emitting. Advances the code offset and the line number by the given values.
This annotation emits a line record. The length of the covered code block can be established
by a following ChangeCodeLength
annotation, or by the offset of the next emitted record.
ChangeCodeLengthAndCodeOffset(u32, u32)
Emitting. Sets the code length and advances the code offset by the given value.
This annotation emits a line record that is valid for the given code length. This is usually issued as one of the last annotations, as there is no subsequent line record to derive the code length from.
ChangeColumnEnd(u32)
Sets the end column number.
Implementations
sourceimpl BinaryAnnotation
impl BinaryAnnotation
sourcepub fn emits_line_info(self) -> bool
pub fn emits_line_info(self) -> bool
Does this annotation emit a line info?
Trait Implementations
sourceimpl Clone for BinaryAnnotation
impl Clone for BinaryAnnotation
sourcefn clone(&self) -> BinaryAnnotation
fn clone(&self) -> BinaryAnnotation
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl Debug for BinaryAnnotation
impl Debug for BinaryAnnotation
sourceimpl PartialEq<BinaryAnnotation> for BinaryAnnotation
impl PartialEq<BinaryAnnotation> for BinaryAnnotation
sourcefn eq(&self, other: &BinaryAnnotation) -> bool
fn eq(&self, other: &BinaryAnnotation) -> bool
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
sourcefn ne(&self, other: &BinaryAnnotation) -> bool
fn ne(&self, other: &BinaryAnnotation) -> bool
This method tests for !=
.
impl Copy for BinaryAnnotation
impl Eq for BinaryAnnotation
impl StructuralEq for BinaryAnnotation
impl StructuralPartialEq for BinaryAnnotation
Auto Trait Implementations
impl RefUnwindSafe for BinaryAnnotation
impl Send for BinaryAnnotation
impl Sync for BinaryAnnotation
impl Unpin for BinaryAnnotation
impl UnwindSafe for BinaryAnnotation
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more