One dom of a LamDecl: ptrn@(filter) with an optional : ret type. More...
#include <mim/ast/ast.h>
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 |
|
inline |
Definition at line 1200 of file ast.h.
References Dom(), filter(), mim::ast::Node::loc(), mim::ast::PiExpr::Dom::PiExpr, mim::ast::PiExpr::Dom::ptrn(), ret(), and mim::ast::PiExpr::Dom::ret_type().
Referenced by Dom().
|
overridevirtual |
Reimplemented from mim::ast::PiExpr::Dom.
Definition at line 547 of file bind.cpp.
References mim::ast::PiExpr::Dom::bind(), filter(), and ret().
Definition at line 1013 of file emit.cpp.
References mim::ast::emit_var(), mim::ast::Node::loc(), mim::ast::PiExpr::Dom::pi_, mim::ast::PiExpr::Dom::ptrn(), and ret().
|
inline |
|
inline |
Definition at line 1206 of file ast.h.
Referenced by bind(), Dom(), and emit_value().
|
overridevirtual |
Implements mim::ast::Node.
Definition at line 339 of file stream.cpp.
References filter(), mim::ast::PiExpr::Dom::ptrn(), mim::ast::PiExpr::Dom::ret_type(), and mim::ast::S::S().
|
friend |