pub struct Graph {
pub def_id: DefId,
pub span: Span,
pub argc: usize,
pub nodes: GraphNodes,
pub edges: GraphEdges,
pub n_locals: usize,
pub closures: HashSet<DefId>,
}
Fields§
§def_id: DefId
§span: Span
§argc: usize
§nodes: GraphNodes
§edges: GraphEdges
§n_locals: usize
§closures: HashSet<DefId>
Implementations§
source§impl Graph
impl Graph
pub fn new(def_id: DefId, span: Span, argc: usize, n_locals: usize) -> Self
pub fn add_node_edge(&mut self, src: Local, dst: Local, op: EdgeOp) -> EdgeIdx
pub fn add_const_edge( &mut self, src_desc: String, src_ty: String, dst: Local, op: EdgeOp, ) -> EdgeIdx
pub fn add_operand(&mut self, operand: &Operand<'_>, dst: Local)
pub fn parse_place(&mut self, place: &Place<'_>) -> Local
pub fn add_statm_to_graph(&mut self, statement: &Statement<'_>)
pub fn add_terminator_to_graph(&mut self, terminator: &Terminator<'_>)
pub fn collect_equivalent_locals( &self, local: Local, strict: bool, ) -> HashSet<Local>
pub fn collect_ancestor_locals( &self, local: Local, self_included: bool, ) -> HashSet<Local>
pub fn is_connected(&self, idx_1: Local, idx_2: Local) -> bool
pub fn param_return_deps(&self) -> IndexVec<Local, bool>
pub fn dfs<F, G>( &self, now: Local, direction: Direction, node_operator: &mut F, edge_validator: &mut G, traverse_all: bool, seen: &mut HashSet<Local>, ) -> DFSStatus
pub fn get_upside_idx(&self, node_idx: Local, order: usize) -> Option<Local>
pub fn get_downside_idx(&self, node_idx: Local, order: usize) -> Option<Local>
Auto Trait Implementations§
impl Freeze for Graph
impl RefUnwindSafe for Graph
impl Send for Graph
impl Sync for Graph
impl Unpin for Graph
impl UnwindSafe for Graph
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