MimIR
MimIR is my Intermediate Representation
Loading...
Searching...
No Matches
mim::World::Annexes Class Reference

#include <mim/world.h>

Classes

struct  Entry

Public Member Functions

 Annexes (Driver *driver)
Getters
Driver & driver ()
auto & flags2entry ()
 An annex's flags map to its full name and its Def.
const auto & flags2entry () const
auto entries () const
auto defs () const
auto & sym2flags ()
const auto & sym2flags () const
const flags_t * flags (const Def *d) const
 The flags of the annex def, if it is one.
const flags_t * opaque (const Def *d) const
 Like flags() but only for an Axm or a non-Lam mutable - whose identity phases must preserve.
size_t size () const
attach
const Def * attach (flags_t, Sym, const Def *)
const Def * attach (plugin_t p, tag_t t, sub_t s, Sym sym, const Def *def)
void attach_alias (flags_t, Sym)
 Registers a further Sym for an already attach()ed annex, sharing its flags_t;.
void attach_alias (plugin_t p, tag_t t, sub_t s, Sym sym)
Iterators
auto begin () const
auto end () const

Friends

void swap (Annexes &a1, Annexes &a2) noexcept

Detailed Description

Definition at line 220 of file world.h.


Class Documentation

◆ mim::World::Annexes::Entry

struct mim::World::Annexes::Entry

Definition at line 222 of file world.h.

Class Members
const Def * def
Sym sym

Constructor & Destructor Documentation

◆ Annexes()

mim::World::Annexes::Annexes ( Driver * driver)
inline

Definition at line 227 of file world.h.

References driver().

Referenced by swap.

Member Function Documentation

◆ attach() [1/2]

const Def * mim::World::Annexes::attach ( flags_t flags,
Sym sym,
const Def * def )

◆ attach() [2/2]

const Def * mim::World::Annexes::attach ( plugin_t p,
tag_t t,
sub_t s,
Sym sym,
const Def * def )
inline

Definition at line 252 of file world.h.

References attach(), mim::Annex::flags(), and mim::World::sym().

◆ attach_alias() [1/2]

void mim::World::Annexes::attach_alias ( flags_t flags,
Sym sym )

Registers a further Sym for an already attach()ed annex, sharing its flags_t;.

See also
mim::ast::AliasDecl.

Definition at line 149 of file world.cpp.

References mim::Annex::demangle(), driver(), flags(), and mim::World::sym().

Referenced by mim::ast::Emitter::attach_alias().

◆ attach_alias() [2/2]

void mim::World::Annexes::attach_alias ( plugin_t p,
tag_t t,
sub_t s,
Sym sym )
inline

Definition at line 258 of file world.h.

References attach_alias(), mim::Annex::flags(), and mim::World::sym().

Referenced by attach_alias().

◆ begin()

auto mim::World::Annexes::begin ( ) const
inline

Definition at line 263 of file world.h.

◆ defs()

auto mim::World::Annexes::defs ( ) const
inline

Definition at line 237 of file world.h.

References entries().

◆ driver()

Driver & mim::World::Annexes::driver ( )
inline

Definition at line 232 of file world.h.

Referenced by Annexes(), attach(), and attach_alias().

◆ end()

auto mim::World::Annexes::end ( ) const
inline

Definition at line 264 of file world.h.

◆ entries()

auto mim::World::Annexes::entries ( ) const
inline

Definition at line 236 of file world.h.

Referenced by defs().

◆ flags()

const flags_t * mim::World::Annexes::flags ( const Def * d) const
inline

The flags of the annex def, if it is one.

Definition at line 243 of file world.h.

Referenced by attach(), attach_alias(), and opaque().

◆ flags2entry() [1/2]

auto & mim::World::Annexes::flags2entry ( )
inline

An annex's flags map to its full name and its Def.

Definition at line 234 of file world.h.

◆ flags2entry() [2/2]

const auto & mim::World::Annexes::flags2entry ( ) const
inline

Definition at line 235 of file world.h.

◆ opaque()

const flags_t * mim::World::Annexes::opaque ( const Def * d) const
inline

Like flags() but only for an Axm or a non-Lam mutable - whose identity phases must preserve.

Definition at line 245 of file world.h.

References flags().

Referenced by mim::Analysis::lookup().

◆ size()

size_t mim::World::Annexes::size ( ) const
inline

Definition at line 246 of file world.h.

◆ sym2flags() [1/2]

auto & mim::World::Annexes::sym2flags ( )
inline

Definition at line 240 of file world.h.

◆ sym2flags() [2/2]

const auto & mim::World::Annexes::sym2flags ( ) const
inline

Definition at line 241 of file world.h.

◆ swap

void swap ( Annexes & a1,
Annexes & a2 )
friend

Definition at line 267 of file world.h.

References Annexes(), and swap.

Referenced by swap.


The documentation for this class was generated from the following files: