MimIR
MimIR is my Intermediate Representation
Loading...
Searching...
No Matches
mim::ast::AxmDecl::Name Class Reference

dbg = alias_0 = ... = alias_n-1 - one axiom of the family, which each of its names binds to. More...

#include <mim/ast/ast.h>

Inheritance diagram for mim::ast::AxmDecl::Name:
[legend]

Public Types

using VLA_Types = std::tuple<Dbg>

Public Member Functions

 Name (Loc loc)
auto names () const
Dbg dbg () const override
 The name this Decl introduces; anonymous if it has none.
auto aliases () const
bool is_anx () const override
 Whether this decl is registered as a compiler-exposed annex (anx).
std::pair< AnnexInfo *, sub_t > annex_sub () const override
 The (AnnexInfo, sub) slot this decl registered itself under as an annex; {nullptr, 0} if it isn't one.
void stream (fe::Tab &, std::ostream &) const override
Public Member Functions inherited from mim::ast::Decl
const Def * def () const
virtual const Scope * scope () const
 Non-nullptr if this Decl is a module whose members a Path may walk into.
virtual Vis vis () const
 A ValDecl's own Vis; Pub for anything else (Ptrn, Import, ...), which the priv/pub system ignores.
virtual bool is_extern () const
 Whether this decl crosses the Mim/native boundary (extern); body presence picks which side supplies it.
Public Member Functions inherited from mim::ast::Node
Loc loc () const
void dump () const

Friends

class AxmDecl

Additional Inherited Members

Protected Member Functions inherited from mim::ast::Decl
 Decl (Loc loc)
Protected Member Functions inherited from mim::ast::Node
 Node (Loc loc)
Protected Attributes inherited from mim::ast::Decl
const Def * def_ = nullptr

Detailed Description

dbg = alias_0 = ... = alias_n-1 - one axiom of the family, which each of its names binds to.

Definition at line 1076 of file ast.h.

Member Typedef Documentation

◆ VLA_Types

using mim::ast::AxmDecl::Name::VLA_Types = std::tuple<Dbg>

Definition at line 1078 of file ast.h.

Constructor & Destructor Documentation

◆ Name()

mim::ast::AxmDecl::Name::Name ( Loc loc)
inline

Definition at line 1080 of file ast.h.

References mim::ast::Decl::Decl(), and mim::ast::Node::loc().

Member Function Documentation

◆ aliases()

auto mim::ast::AxmDecl::Name::aliases ( ) const
inline

Definition at line 1085 of file ast.h.

References names().

◆ annex_sub()

std::pair< AnnexInfo *, sub_t > mim::ast::AxmDecl::Name::annex_sub ( ) const
inlineoverridevirtual

The (AnnexInfo, sub) slot this decl registered itself under as an annex; {nullptr, 0} if it isn't one.

Reimplemented from mim::ast::Decl.

Definition at line 1087 of file ast.h.

◆ dbg()

Dbg mim::ast::AxmDecl::Name::dbg ( ) const
inlineoverridevirtual

The name this Decl introduces; anonymous if it has none.

Reimplemented from mim::ast::Decl.

Definition at line 1084 of file ast.h.

References names().

◆ is_anx()

bool mim::ast::AxmDecl::Name::is_anx ( ) const
inlineoverridevirtual

Whether this decl is registered as a compiler-exposed annex (anx).

Reimplemented from mim::ast::Decl.

Definition at line 1086 of file ast.h.

◆ names()

auto mim::ast::AxmDecl::Name::names ( ) const
inline

Definition at line 1083 of file ast.h.

Referenced by aliases(), dbg(), and stream().

◆ stream()

void mim::ast::AxmDecl::Name::stream ( fe::Tab & ,
std::ostream & os ) const
overridevirtual

Implements mim::ast::Node.

Definition at line 274 of file stream.cpp.

References names().

◆ AxmDecl

friend class AxmDecl
friend

Definition at line 1095 of file ast.h.

References AxmDecl.

Referenced by AxmDecl.


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