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
Driverdriver ()
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
size_t size () const
attach
const Defattach (flags_t, Sym, const Def *)
const Defattach (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)
const Defreattach (flags_t flags, const Def *def)
 Overwrites the Def of an already attach()ed annex, keeping its Sym.
Iterators
auto begin () const
auto end () const

Friends

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

Detailed Description

Definition at line 208 of file world.h.


Class Documentation

◆ mim::World::Annexes::Entry

struct mim::World::Annexes::Entry

Definition at line 210 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 215 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 236 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 72 of file world.cpp.

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

◆ 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 242 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 257 of file world.h.

◆ defs()

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

Definition at line 225 of file world.h.

References entries().

◆ driver()

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

Definition at line 220 of file world.h.

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

◆ end()

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

Definition at line 258 of file world.h.

◆ entries()

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

Definition at line 224 of file world.h.

Referenced by defs().

◆ flags2entry() [1/2]

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

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

Definition at line 222 of file world.h.

Referenced by mim::Unload::start().

◆ flags2entry() [2/2]

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

Definition at line 223 of file world.h.

◆ reattach()

const Def * mim::World::Annexes::reattach ( flags_t flags,
const Def * def )
inline

Overwrites the Def of an already attach()ed annex, keeping its Sym.

Unlike attach(), this expects flags to be present;

See also
InplaceRWPhase.

Definition at line 246 of file world.h.

References mim::World::flags().

Referenced by mim::InplaceRWPhase::rewrite_annex().

◆ size()

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

Definition at line 230 of file world.h.

◆ sym2flags() [1/2]

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

Definition at line 228 of file world.h.

Referenced by mim::Unload::start().

◆ sym2flags() [2/2]

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

Definition at line 229 of file world.h.

◆ swap

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

Definition at line 261 of file world.h.

References Annexes(), and swap.

Referenced by swap.


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