public List acceptCFG(CFGBuilder v, List succs) { v.visitCFGList(inits, (cond != null ? cond.entry() : body.entry())); if (cond != null) { if (condIsConstantTrue()) { v.visitCFG(cond, body.entry()); } else { v.visitCFG(cond, FlowGraph.EDGE_KEY_TRUE, body.entry(), FlowGraph.EDGE_KEY_FALSE, this); } } v.push(this).visitCFG(body, continueTarget()); v.visitCFGList(iters, (cond != null ? cond.entry() : body.entry())); return succs; }
public Term continueTarget() { return listEntry(iters, (cond != null ? cond.entry() : body.entry())); }
public Term entry() { return listEntry(inits, (cond != null ? cond.entry() : body.entry())); }