16 void enter()
override;
21 const Def* jb_type() {
return void_ptr(); }
25 Lam* get_throw(
const Def* res_type);
26 Lam* get_lpad(
Lam* lam,
const Def* rb);
28 void get_exn_closures();
29 void get_exn_closures(
const Def* def,
DefSet& visited);
38 const Def* cur_rbuf_ =
nullptr;
39 const Def* cur_jbuf_ =
nullptr;
RWPass(World &world, std::string name)
The World represents the whole program and manages creation of MimIR nodes (Defs).
const Def * annex(Id id)
Lookup annex by Axm::id.
const Def * call(Id id, Args &&... args)
Complete curried call of annexes obeying implicits.
const Def * rewrite(const Def *) override
Clos2SJLJ(World &world, flags_t annex)
void enter() override
Invoked just before Pass::rewriteing PassMan::curr_mut's body.
GIDMap< const Def *, To > DefMap
GIDMap< Lam *, To > LamMap
GIDSet< const Def * > DefSet