MimIR
MimIR is my Intermediate Representation
Loading...
Searching...
No Matches
mim::ast::LamDecl::Dom Class Reference

One dom of a LamDecl: ptrn@(filter) with an optional : ret type. More...

#include <mim/ast/ast.h>

Inheritance diagram for mim::ast::LamDecl::Dom:
[legend]

Public Member Functions

 Dom (Loc loc, Ptr< Ptrn > ptrn, Ptr< Expr > filter, Ptr< Expr > ret_type, Ptr< IdDecl > ret)
const Expr * filter () const
const IdDecl * ret () const
void bind (Scopes &, bool quiet=false) const override
Lam * emit_value (Emitter &) const
void stream (fe::Tab &, std::ostream &) const override
Public Member Functions inherited from mim::ast::PiExpr::Dom
 Dom (Loc loc, Ptr< Ptrn > ptrn, Ptr< Expr > ret_type)
bool is_implicit () const
const Ptrn * ptrn () const
const Expr * ret_type () const
virtual void emit_type (Emitter &) const
void stream (fe::Tab &, std::ostream &) const override
Public Member Functions inherited from mim::ast::Node
Loc loc () const
void dump () const

Friends

class LamDecl

Additional Inherited Members

Protected Member Functions inherited from mim::ast::Node
 Node (Loc loc)
Protected Attributes inherited from mim::ast::PiExpr::Dom
Pi * decl_ = nullptr
Pi * pi_ = nullptr

Detailed Description

One dom of a LamDecl: ptrn@(filter) with an optional : ret type.

Definition at line 1198 of file ast.h.

Constructor & Destructor Documentation

◆ Dom()

mim::ast::LamDecl::Dom::Dom ( Loc loc,
Ptr< Ptrn > ptrn,
Ptr< Expr > filter,
Ptr< Expr > ret_type,
Ptr< IdDecl > ret )
inline

Member Function Documentation

◆ bind()

void mim::ast::LamDecl::Dom::bind ( Scopes & s,
bool quiet = false ) const
overridevirtual

Reimplemented from mim::ast::PiExpr::Dom.

Definition at line 547 of file bind.cpp.

References mim::ast::PiExpr::Dom::bind(), filter(), and ret().

◆ emit_value()

Lam * mim::ast::LamDecl::Dom::emit_value ( Emitter & e) const

◆ filter()

const Expr * mim::ast::LamDecl::Dom::filter ( ) const
inline

Definition at line 1205 of file ast.h.

Referenced by bind(), Dom(), and stream().

◆ ret()

const IdDecl * mim::ast::LamDecl::Dom::ret ( ) const
inline

Definition at line 1206 of file ast.h.

Referenced by bind(), Dom(), and emit_value().

◆ stream()

void mim::ast::LamDecl::Dom::stream ( fe::Tab & tab,
std::ostream & os ) const
overridevirtual

◆ LamDecl

friend class LamDecl
friend

Definition at line 1217 of file ast.h.

References LamDecl.

Referenced by LamDecl.


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