20 void enter()
override;
25 const Def* jb_type() {
return void_ptr(); }
29 Lam* get_throw(
const Def* res_type);
30 Lam* get_lpad(
Lam* lam,
const Def* rb);
32 void get_exn_closures();
33 void get_exn_closures(
const Def* def,
DefSet& visited);
42 const Def* cur_rbuf_ =
nullptr;
43 const Def* cur_jbuf_ =
nullptr;
RWPass(PassMan &man, std::string_view name)
const Def * annex(Id id)
Lookup annex by Axiom::id.
const Def * call(Id id, Args &&... args)
Complete curried call of annexes obeying implicits.
const Def * rewrite(const Def *) override
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