Struct bytecode::borrow_analysis::BorrowInfo
source · pub struct BorrowInfo { /* private fields */ }
Implementations§
source§impl BorrowInfo
impl BorrowInfo
sourcepub fn get_children(&self, node: &BorrowNode) -> Vec<&BorrowNode> ⓘ
pub fn get_children(&self, node: &BorrowNode) -> Vec<&BorrowNode> ⓘ
Gets the children of this node.
sourcepub fn get_parents(&self, node: &BorrowNode) -> Vec<&BorrowNode> ⓘ
pub fn get_parents(&self, node: &BorrowNode) -> Vec<&BorrowNode> ⓘ
Gets the parents of this node.
sourcepub fn get_incoming(
&self,
node: &BorrowNode
) -> SetDomain<(BorrowNode, BorrowEdge)>
pub fn get_incoming( &self, node: &BorrowNode ) -> SetDomain<(BorrowNode, BorrowEdge)>
Gets incoming edges (together with sources) of this node.
sourcepub fn is_conditional(&self, node: &BorrowNode) -> bool
pub fn is_conditional(&self, node: &BorrowNode) -> bool
Returns true if this node is conditional, that is, it borrows from multiple parents, or has a transient child which is conditional.
sourcepub fn is_in_use(&self, node: &BorrowNode) -> bool
pub fn is_in_use(&self, node: &BorrowNode) -> bool
Checks whether a node is in use. A node is used if it is in the live_nodes set or if it is borrowed by a node which is used.
sourcepub fn is_moved(&self, node: &BorrowNode) -> bool
pub fn is_moved(&self, node: &BorrowNode) -> bool
Checks whether this is a moved node.
sourcepub fn dying_nodes(&self, next: &BorrowInfo) -> Vec<BorrowNode> ⓘ
pub fn dying_nodes(&self, next: &BorrowInfo) -> Vec<BorrowNode> ⓘ
Returns nodes which are dying from this to the next state. This includes those which are directly dying plus those from which they borrow. Returns nodes in child-first order.
pub fn is_empty(&self) -> bool
pub fn borrow_info_str(&self, func_target: &FunctionTarget<'_>) -> String
Trait Implementations§
source§impl AbstractDomain for BorrowInfo
impl AbstractDomain for BorrowInfo
fn join(&mut self, other: &Self) -> JoinResult
source§impl Clone for BorrowInfo
impl Clone for BorrowInfo
source§fn clone(&self) -> BorrowInfo
fn clone(&self) -> BorrowInfo
Returns a copy 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 moresource§impl Debug for BorrowInfo
impl Debug for BorrowInfo
source§impl Default for BorrowInfo
impl Default for BorrowInfo
source§fn default() -> BorrowInfo
fn default() -> BorrowInfo
Returns the “default value” for a type. Read more
source§impl PartialEq<BorrowInfo> for BorrowInfo
impl PartialEq<BorrowInfo> for BorrowInfo
source§fn eq(&self, other: &BorrowInfo) -> bool
fn eq(&self, other: &BorrowInfo) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.source§impl PartialOrd<BorrowInfo> for BorrowInfo
impl PartialOrd<BorrowInfo> for BorrowInfo
source§fn partial_cmp(&self, other: &BorrowInfo) -> Option<Ordering>
fn partial_cmp(&self, other: &BorrowInfo) -> Option<Ordering>
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for
self
and other
) and is used by the <=
operator. Read moreimpl Eq for BorrowInfo
impl StructuralEq for BorrowInfo
impl StructuralPartialEq for BorrowInfo
Auto Trait Implementations§
impl RefUnwindSafe for BorrowInfo
impl Send for BorrowInfo
impl Sync for BorrowInfo
impl Unpin for BorrowInfo
impl UnwindSafe for BorrowInfo
Blanket Implementations§
source§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.