pub struct VariableNode<'tcx> {
pub id: usize,
pub alias_set: HashSet<usize>,
pub points_to: Option<usize>,
pub pointed_by: HashSet<usize>,
pub field: HashMap<usize, usize>,
pub ty: Option<Ty<'tcx>>,
pub is_dropped: bool,
pub ots: States<'tcx>,
pub const_value: usize,
pub cis: ContractualInvariantState<'tcx>,
pub offset_from: Option<SymbolicDef<'tcx>>,
}Expand description
A node in the dominated graph.
Fields§
§id: usize§alias_set: HashSet<usize>§points_to: Option<usize>§pointed_by: HashSet<usize>§field: HashMap<usize, usize>§ty: Option<Ty<'tcx>>§is_dropped: bool§ots: States<'tcx>§const_value: usize§cis: ContractualInvariantState<'tcx>§offset_from: Option<SymbolicDef<'tcx>>Implementations§
Source§impl<'tcx> VariableNode<'tcx>
impl<'tcx> VariableNode<'tcx>
Sourcepub fn new(
id: usize,
points_to: Option<usize>,
pointed_by: HashSet<usize>,
ty: Option<Ty<'tcx>>,
ots: States<'tcx>,
) -> Self
pub fn new( id: usize, points_to: Option<usize>, pointed_by: HashSet<usize>, ty: Option<Ty<'tcx>>, ots: States<'tcx>, ) -> Self
Create a new VariableNode.
Sourcepub fn new_default(id: usize, ty: Option<Ty<'tcx>>) -> Self
pub fn new_default(id: usize, ty: Option<Ty<'tcx>>) -> Self
Create a new VariableNode with default values.
Sourcepub fn new_with_states(
id: usize,
ty: Option<Ty<'tcx>>,
ots: States<'tcx>,
) -> Self
pub fn new_with_states( id: usize, ty: Option<Ty<'tcx>>, ots: States<'tcx>, ) -> Self
Create a new VariableNode with specific states.
Trait Implementations§
Source§impl<'tcx> Clone for VariableNode<'tcx>
impl<'tcx> Clone for VariableNode<'tcx>
Source§fn clone(&self) -> VariableNode<'tcx>
fn clone(&self) -> VariableNode<'tcx>
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl<'tcx> Freeze for VariableNode<'tcx>
impl<'tcx> !RefUnwindSafe for VariableNode<'tcx>
impl<'tcx> Send for VariableNode<'tcx>
impl<'tcx> Sync for VariableNode<'tcx>
impl<'tcx> Unpin for VariableNode<'tcx>
impl<'tcx> !UnwindSafe for VariableNode<'tcx>
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