MCPcopy Create free account
hub / github.com/Rust-API/Rust-API-Bypass-Checker / visit_vertex

Method visit_vertex

src/analysis/mir_visitor/body_visitor.rs:662–675  ·  view source on GitHub ↗

Visit a node in w.t.o

(&mut self, vertex: &WtoVertex)

Source from the content-addressed store, hash-verified

660{
661 /// Visit a node in w.t.o
662 fn visit_vertex(&mut self, vertex: &WtoVertex) {
663 let bb = vertex.node();
664 // If bb is the entry block (block ID is 0), initialize precondition as init state
665 let pre = if vertex.is_entry() {
666 self.init_state.clone()
667 } else {
668 // Otherwise, compute the disjunction of all the predecessors' post conditions
669 self.get_state_from_predecessors(bb)
670 };
671 // self.set_pre(bb, pre.clone());
672
673 // Now analyze this node
674 self.analyze_basic_block(bb, pre);
675 }
676
677 /// Visit a circle in w.t.o, the analysis will only proceed if the circle reaches its fixed-point
678 fn visit_circle(&mut self, circle: &WtoCircle) {

Callers

nothing calls this directly

Calls 4

nodeMethod · 0.80
is_entryMethod · 0.80
analyze_basic_blockMethod · 0.80

Tested by

no test coverage detected