pub struct VariableReadPlan {Show 15 fields
pub name: String,
pub type_name: String,
pub access_path: VariableAccessPath,
pub module_path: Option<PathBuf>,
pub dwarf_type: Option<TypeInfo>,
pub declaration: Option<DieRef>,
pub type_id: Option<TypeId>,
pub location: VariableLocation,
pub availability: Availability,
pub scope_depth: usize,
pub is_parameter: bool,
pub is_artificial: bool,
pub pc_range: Option<PcRange>,
pub inline_context: Option<InlineContextId>,
pub provenance: Provenance,
}Expand description
Owned, PC-sensitive variable read plan before runtime-specific lowering.
Fields§
§name: String§type_name: String§access_path: VariableAccessPath§module_path: Option<PathBuf>§dwarf_type: Option<TypeInfo>§declaration: Option<DieRef>§type_id: Option<TypeId>§location: VariableLocation§availability: Availability§scope_depth: usize§is_parameter: bool§is_artificial: bool§pc_range: Option<PcRange>§inline_context: Option<InlineContextId>§provenance: ProvenanceImplementations§
Source§impl VariableReadPlan
impl VariableReadPlan
pub fn from_visible_variable( variable: VisibleVariable, provenance: Provenance, ) -> Self
pub fn bpf_lowering_plan( &self, capabilities: &RuntimeCapabilities, ) -> VariableLoweringPlan
pub fn materialization_plan( &self, capabilities: &RuntimeCapabilities, ) -> VariableMaterializationPlan
pub fn lvalue_address_plan(&self) -> LvalueAddressPlan
pub fn plan_access_path(&self, path: &VariableAccessPath) -> Result<Self>
Sourcepub fn plan_pointer_element_index(&self, index: i64) -> Result<Self>
pub fn plan_pointer_element_index(&self, index: i64) -> Result<Self>
Plan pointer-style element access for expressions like ptr +/- K.
This keeps pointer dereference and element-size scaling in the DWARF semantic layer instead of making compiler lowering rewrite locations.
Trait Implementations§
Source§impl Clone for VariableReadPlan
impl Clone for VariableReadPlan
Source§fn clone(&self) -> VariableReadPlan
fn clone(&self) -> VariableReadPlan
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for VariableReadPlan
impl Debug for VariableReadPlan
Source§impl PartialEq for VariableReadPlan
impl PartialEq for VariableReadPlan
impl StructuralPartialEq for VariableReadPlan
Auto Trait Implementations§
impl Freeze for VariableReadPlan
impl RefUnwindSafe for VariableReadPlan
impl Send for VariableReadPlan
impl Sync for VariableReadPlan
impl Unpin for VariableReadPlan
impl UnsafeUnpin for VariableReadPlan
impl UnwindSafe for VariableReadPlan
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§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> ⓘ
Converts
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> ⓘ
Converts
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