Public Member Functions | |
| Emitter (AST &ast) | |
| AST & | ast () const |
| World & | world () |
| Driver & | driver () |
| fe::Error & | error () |
| void | attach (AnnexInfo *annex, sub_t sub, Sym name, const Def *def) |
name is this registration's own (unqualified) Dbg::sym; AnnexInfo::qualified turns it into the full plugin.tag[.sub] name. | |
Public Attributes | |
| absl::node_hash_map< Sigma *, fe::SymMap< size_t >, GIDHash< const Def * > > | sigma2sym2idx |
|
inline |
|
inline |
name is this registration's own (unqualified) Dbg::sym; AnnexInfo::qualified turns it into the full plugin.tag[.sub] name.
We must take it from the declaration rather than from Def::sym, since hash-consing can make several annexes share a single Def (e.g. mod foo { anx let bar = 23; anx let baz = 23; }).
Definition at line 28 of file emit.cpp.
References mim::World::annexes(), mim::World::Annexes::attach(), driver(), mim::ast::AnnexInfo::id, mim::ast::AnnexInfo::plugin_id(), mim::ast::AnnexInfo::qualified(), and world().
|
inline |
|
inline |
|
inline |