MimIR 0.1
MimIR is my Intermediate Representation
|
decls e
or e where decls
if where
is true
.
More...
#include <mim/ast/ast.h>
Public Member Functions | |
DeclExpr (Loc loc, Ptrs< ValDecl > &&decls, Ptr< Expr > &&expr, bool is_where) | |
const auto & | decls () const |
bool | is_where () const |
const Expr * | expr () const |
void | bind (Scopes &) const override |
std::ostream & | stream (Tab &, std::ostream &) const override |
Public Member Functions inherited from mim::ast::Expr | |
Ref | emit (Emitter &) const |
virtual Ref | emit_decl (Emitter &, Ref) const |
virtual void | emit_body (Emitter &, Ref) const |
Public Member Functions inherited from mim::ast::Node | |
Loc | loc () const |
void | dump () const |
Private Member Functions | |
Ref | emit_ (Emitter &) const override |
Additional Inherited Members | |
Protected Member Functions inherited from mim::ast::Expr | |
Expr (Loc loc) | |
Protected Member Functions inherited from mim::ast::Node | |
Node (Loc loc) | |
virtual | ~Node () |
|
overridevirtual |
Implements mim::ast::Expr.
Definition at line 130 of file bind.cpp.
References mim::ast::Expr::bind(), decls(), expr(), and is_where().
|
inline |
Implements mim::ast::Expr.
Definition at line 173 of file emit.cpp.
References decls(), mim::ast::Expr::emit(), expr(), and is_where().
|
inline |
|
inline |
|
overridevirtual |
Implements mim::ast::Node.
Definition at line 95 of file stream.cpp.
References decls(), expr(), is_where(), mim::print(), and mim::Tab::println().