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 &, 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 Attributes | |
Pi * | decl_ = nullptr |
Pi * | pi_ = nullptr |
Friends | |
class | PiExpr |
Additional Inherited Members | |
![]() | |
Node (Loc loc) | |
virtual | ~Node () |
Definition at line 570 of file ast.h.
References mim::ast::Node::loc(), mim::ast::Node::Node(), and ptrn().
Definition at line 578 of file ast.h.
References mim::ast::Node::loc().
Reimplemented in mim::ast::LamDecl::Dom.
Definition at line 167 of file bind.cpp.
Referenced by mim::ast::LamDecl::Dom::bind().
|
virtual |
Definition at line 237 of file emit.cpp.
References decl_, emit_type(), is_implicit(), mim::ast::Node::loc(), pi_, ptrn(), and ret().
Referenced by emit_type().
|
inline |
Definition at line 574 of file ast.h.
Referenced by emit_type(), and stream().
|
inline |
Definition at line 575 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 576 of file ast.h.
Referenced by bind(), emit_type(), mim::ast::LamDecl::Dom::emit_value(), mim::ast::LamDecl::Dom::stream(), and stream().
|
overridevirtual |
Implements mim::ast::Node.
Definition at line 130 of file stream.cpp.
References is_implicit(), mim::print(), ptrn(), and ret().
|
friend |
Definition at line 595 of file ast.h.
References PiExpr.
Referenced by mim::ast::LamDecl::Dom::Dom(), and PiExpr.
|
mutableprotected |
Definition at line 588 of file ast.h.
Referenced by emit_type().
|
mutableprotected |
Definition at line 589 of file ast.h.
Referenced by emit_type(), and mim::ast::LamDecl::Dom::emit_value().