One dom of a PiExpr: ptrn with an optional -> ret type. More...
#include <mim/ast/ast.h>
Public Member Functions | |
| 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 | bind (Scopes &, bool quiet=false) 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 |
Protected Attributes | |
| Pi * | decl_ = nullptr |
| Pi * | pi_ = nullptr |
Friends | |
| class | PiExpr |
Additional Inherited Members | |
| Protected Member Functions inherited from mim::ast::Node | |
| Node (Loc loc) | |
Definition at line 789 of file ast.h.
References mim::ast::Node::loc(), mim::ast::Node::Node(), ptrn(), and ret_type().
|
virtual |
Reimplemented in mim::ast::LamDecl::Dom.
Definition at line 287 of file bind.cpp.
References ptrn(), and ret_type().
Referenced by mim::ast::LamDecl::Dom::bind().
|
virtual |
Definition at line 729 of file emit.cpp.
References decl_, mim::ast::Expr::emit(), mim::ast::emit_var(), is_implicit(), mim::ast::Node::loc(), pi_, ptrn(), and ret_type().
|
inline |
Definition at line 794 of file ast.h.
Referenced by emit_type().
|
inline |
Definition at line 795 of file ast.h.
Referenced by bind(), mim::ast::LamDecl::Dom::Dom(), Dom(), emit_type(), mim::ast::LamDecl::Dom::emit_value(), mim::ast::LamDecl::Dom::stream(), and stream().
|
inline |
Definition at line 796 of file ast.h.
References mim::ast::Expr::Expr().
Referenced by bind(), mim::ast::LamDecl::Dom::Dom(), Dom(), emit_type(), mim::ast::LamDecl::Dom::stream(), and stream().
|
overridevirtual |
Implements mim::ast::Node.
Definition at line 201 of file stream.cpp.
References ptrn(), ret_type(), and mim::ast::S::S().
|
friend |
Definition at line 810 of file ast.h.
References PiExpr.
Referenced by mim::ast::LamDecl::Dom::Dom(), and PiExpr.
|
mutableprotected |
Definition at line 803 of file ast.h.
Referenced by emit_type().
|
mutableprotected |
Definition at line 804 of file ast.h.
Referenced by emit_type(), and mim::ast::LamDecl::Dom::emit_value().