MimIR 0.1
MimIR is my Intermediate Representation
|
#include <mim/ast/ast.h>
Public Member Functions | |
Dom (Loc loc, Ptr< Ptrn > &&ptrn) | |
bool | is_implicit () const |
const Ptrn * | ptrn () const |
const IdPtrn * | ret () const |
void | add_ret (AST &ast, Ptr< Expr > &&type) const |
virtual void | bind (Scopes &scopes, bool quiet=false) const |
virtual void | emit_type (Emitter &) const |
std::ostream & | stream (Tab &, std::ostream &) const override |
![]() | |
Loc | loc () const |
void | dump () const |
Protected Member Functions | |
const Pi * | set_codom (const Def *codom) const |
![]() | |
Node (Loc loc) | |
virtual | ~Node () |
Protected Attributes | |
Pi * | decl_ = nullptr |
Pi * | pi_ = nullptr |
const Pi * | const_pi_ = nullptr |
Friends | |
class | PiExpr |
Definition at line 483 of file ast.h.
References mim::ast::Node::loc(), mim::ast::Node::Node(), and ptrn().
Definition at line 491 of file ast.h.
References mim::ast::Node::loc().
Reimplemented in mim::ast::LamDecl::Dom.
Definition at line 146 of file bind.cpp.
References mim::ast::IdPtrn::bind(), mim::ast::Ptrn::bind(), ptrn(), and ret().
Referenced by mim::ast::LamDecl::Dom::bind().
|
virtual |
Definition at line 207 of file emit.cpp.
References decl_, emit_type(), mim::ast::Ptrn::emit_type(), mim::ast::Ptrn::emit_value(), is_implicit(), mim::ast::Node::loc(), pi_, ptrn(), and ret().
Referenced by emit_type().
|
inline |
Definition at line 487 of file ast.h.
Referenced by emit_type(), and stream().
|
inline |
Definition at line 488 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::is_implicit(), mim::ast::LamDecl::Dom::stream(), and stream().
|
inline |
Definition at line 489 of file ast.h.
Referenced by bind(), emit_type(), mim::ast::LamDecl::Dom::emit_value(), mim::ast::LamDecl::Dom::stream(), and stream().
Definition at line 501 of file ast.h.
References const_pi_, mim::ast::Expr::Pi, and pi_.
|
overridevirtual |
Implements mim::ast::Node.
Definition at line 112 of file stream.cpp.
References is_implicit(), mim::print(), ptrn(), and ret().
|
friend |
Definition at line 514 of file ast.h.
References PiExpr.
Referenced by mim::ast::LamDecl::Dom::Dom(), and PiExpr.
|
mutableprotected |
Definition at line 508 of file ast.h.
Referenced by mim::ast::LamDecl::Dom::emit_value(), and set_codom().
|
mutableprotected |
Definition at line 506 of file ast.h.
Referenced by emit_type().
|
mutableprotected |
Definition at line 507 of file ast.h.
Referenced by emit_type(), and set_codom().