MimIR
MimIR is my Intermediate Representation
Loading...
Searching...
No Matches
mim::ast::AnnexInfo Struct Reference

#include <mim/ast/ast.h>

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).

Public Attributes

struct { 
Sym plugin
Sym tag
sym
struct { 
tag_t tag
u8 curry
u8 trip
id
std::deque< std::deque< Sym > > subs
 List of subs which is a list of aliases.
Dbg normalizer
std::optional< bool > pi
bool fresh = true

Detailed Description

Definition at line 27 of file ast.h.

Constructor & Destructor Documentation

◆ AnnexInfo()

mim::ast::AnnexInfo::AnnexInfo ( Sym sym_plugin,
Sym sym_tag,
tag_t id_tag )
inline

Definition at line 28 of file ast.h.

References id, and sym.

Member Function Documentation

◆ base()

flags_t mim::ast::AnnexInfo::base ( ) const
inline

The base flags (plugin + tag, no sub).

Definition at line 36 of file ast.h.

References mim::Annex::flags(), and plugin_id().

◆ plugin_id()

plugin_t mim::ast::AnnexInfo::plugin_id ( ) const
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 34 of file ast.h.

References mim::Annex::mangle(), and sym.

Referenced by mim::ast::Emitter::attach(), and base().

Member Data Documentation

◆ fresh

bool mim::ast::AnnexInfo::fresh = true

Definition at line 50 of file ast.h.

◆ [struct]

struct { ... } mim::ast::AnnexInfo::id

◆ normalizer

Dbg mim::ast::AnnexInfo::normalizer

Definition at line 48 of file ast.h.

◆ pi

std::optional<bool> mim::ast::AnnexInfo::pi

Definition at line 49 of file ast.h.

◆ subs

std::deque<std::deque<Sym> > mim::ast::AnnexInfo::subs

List of subs which is a list of aliases.

Definition at line 47 of file ast.h.

◆ [struct]

struct { ... } mim::ast::AnnexInfo::sym

Referenced by AnnexInfo(), and plugin_id().


The documentation for this struct was generated from the following file: