Bookkeeping of an annex introduced by an AxmDecl. More...
#include <mim/ast/ast.h>
Classes | |
| struct | [struct].sym |
| struct | [struct].id |
Public Member Functions | |
| AnnexInfo (Sym sym_plugin, Sym sym_tag, tag_t id_tag) | |
| plugin_t | plugin_id () const |
| The mangled plugin part of the flags. | |
| flags_t | base () const |
| The base flags (plugin + tag, no sub). | |
| Sym | qualified (Driver &driver, Sym own) const |
Fully-qualified plugin.tag[.sub] name for own (this decl's own Dbg::sym), registered for by-name lookups (e.g. | |
Public Attributes | |
| struct | sym |
| struct | id |
| fe::Vector< fe::Vector< Sym > > | subs |
| List of subs which is a list of aliases. | |
| Dbg | normalizer |
| std::optional< bool > | pi |
| bool | fresh = true |
| struct mim::ast::AnnexInfo::[struct].sym |
| struct mim::ast::AnnexInfo::[struct].id |
|
inline |
|
inline |
The base flags (plugin + tag, no sub).
Definition at line 75 of file ast.h.
References mim::Annex::flags(), and plugin_id().
Referenced by qualified().
|
inline |
The mangled plugin part of the flags.
Derived from sym.plugin which is guaranteed mangleable by the time an AnnexInfo exists.
Definition at line 73 of file ast.h.
References mim::Annex::mangle(), and sym.
Referenced by mim::ast::Emitter::attach(), and base().
|
inline |
Fully-qualified plugin.tag[.sub] name for own (this decl's own Dbg::sym), registered for by-name lookups (e.g.
compile.named); own == sym.tag (no enclosing mod) omits the .sub part.
Definition at line 78 of file ast.h.
Referenced by mim::ast::Emitter::attach().
| struct mim::ast::AnnexInfo::[struct].id mim::ast::AnnexInfo::id |
Referenced by AnnexInfo(), and mim::ast::Emitter::attach().
| fe::Vector<fe::Vector<Sym> > mim::ast::AnnexInfo::subs |
| struct mim::ast::AnnexInfo::[struct].sym mim::ast::AnnexInfo::sym |
Referenced by AnnexInfo(), plugin_id(), and qualified().