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, bool)
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>
pub fn query_node_by_span( &self, span: Span, strict: bool, ) -> Option<(Local, &GraphNode)>
pub fn is_marker(&self, idx: Local) -> bool
Trait Implementations§
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