| 
    MimIR 0.1
    
   MimIR is my Intermediate Representation 
   | 
 
ret ptrn = callee $ arg; body  
 More...
#include <mim/ast/ast.h>
Public Member Functions | |
| RetExpr (Loc loc, Ptr< Ptrn > &&ptrn, Ptr< Expr > &&callee, Ptr< Expr > &&arg, Ptr< Expr > body) | |
| const Ptrn * | ptrn () const | 
| const Expr * | callee () const | 
| const Expr * | arg () const | 
| const Expr * | body () const | 
| void | bind (Scopes &) const override | 
| std::ostream & | stream (Tab &, std::ostream &) const override | 
  Public Member Functions inherited from mim::ast::Expr | |
| const Def * | emit (Emitter &) const | 
| virtual const Def * | emit_decl (Emitter &, const Def *) const | 
| virtual void | emit_body (Emitter &, const Def *) const | 
  Public Member Functions inherited from mim::ast::Node | |
| Loc | loc () const | 
| void | dump () const | 
Private Member Functions | |
| const Def * | emit_ (Emitter &) const override | 
Additional Inherited Members | |
| enum class | Prec {  Err , Bot , Where , Arrow , Pi , Inj , App , Union , Extract , Lit }  | 
| static constexpr bool | is_rassoc (Prec p) | 
  Protected Member Functions inherited from mim::ast::Expr | |
| Expr (Loc loc) | |
  Protected Member Functions inherited from mim::ast::Node | |
| Node (Loc loc) | |
| virtual | ~Node () | 
      
  | 
  inline | 
Definition at line 670 of file ast.h.
References arg(), body(), callee(), mim::ast::Expr::Expr(), mim::ast::Node::loc(), and ptrn().
      
  | 
  inline | 
      
  | 
  overridevirtual | 
      
  | 
  inline | 
      
  | 
  inline | 
Implements mim::ast::Expr.
Definition at line 296 of file emit.cpp.
References arg(), body(), callee(), mim::ast::Expr::emit(), mim::error(), mim::Pi::has_ret_pi(), mim::ast::Node::loc(), and ptrn().
      
  | 
  inline | 
      
  | 
  overridevirtual | 
Implements mim::ast::Node.
Definition at line 155 of file stream.cpp.
References arg(), body(), callee(), mim::Tab::print(), mim::println(), and ptrn().