MCPcopy Create free account
hub / github.com/CodeSentryAI/lockbud / next

Method next

src/analysis/postdom/mod.rs:291–316  ·  view source on GitHub ↗
(&mut self)

Source from the content-addressed store, hash-verified

289 type Item = Node;
290
291 fn next(&mut self) -> Option<Self::Item> {
292 match self.node {
293 ExtNode::Real(Some(node)) => {
294 match self.post_dominators.immediate_post_dominator(node) {
295 ExtNode::Real(Some(dom)) => {
296 if dom == node {
297 self.node = ExtNode::Real(None); // reached the root
298 } else {
299 self.node = ExtNode::Real(Some(dom));
300 }
301 Some(node)
302 }
303 ExtNode::Real(None) => {
304 // panic!("post_dominators have uncomputed nodes");
305 None
306 }
307 ExtNode::Fake => {
308 self.node = ExtNode::Fake;
309 Some(node)
310 }
311 }
312 }
313 ExtNode::Real(None) => None,
314 ExtNode::Fake => None,
315 }
316 }
317}

Callers 2

from_local_tyMethod · 0.80
intraproc_aliasMethod · 0.80

Calls 1

Tested by

no test coverage detected