MimIR 0.1
MimIR is my Intermediate Representation
Loading...
Searching...
No Matches

#include <mim/ast/ast.h>

Inheritance diagram for mim::ast::Ptrn:
[legend]

Public Member Functions

 Ptrn (Loc loc)
virtual bool is_implicit () const
virtual void bind (Scopes &, bool rebind, bool quiet) const =0
virtual const Defemit_value (Emitter &, const Def *) const =0
virtual const Defemit_type (Emitter &) const =0
Public Member Functions inherited from mim::ast::Decl
const Defdef () const
Public Member Functions inherited from mim::ast::Node
Loc loc () const
virtual std::ostream & stream (Tab &, std::ostream &) const =0
void dump () const

Static Public Member Functions

static Ptr< Exprto_expr (AST &, Ptr< Ptrn > &&)
static Ptr< Ptrnto_ptrn (Ptr< Expr > &&)

Additional Inherited Members

Protected Member Functions inherited from mim::ast::Decl
 Decl (Loc loc)
Protected Member Functions inherited from mim::ast::Node
 Node (Loc loc)
virtual ~Node ()
Protected Attributes inherited from mim::ast::Decl
const Defdef_ = nullptr

Detailed Description

Definition at line 174 of file ast.h.

Constructor & Destructor Documentation

◆ Ptrn()

Member Function Documentation

◆ bind()

virtual void mim::ast::Ptrn::bind ( Scopes & ,
bool rebind,
bool quiet ) const
pure virtual

◆ emit_type()

virtual const Def * mim::ast::Ptrn::emit_type ( Emitter & ) const
pure virtual

◆ emit_value()

◆ is_implicit()

virtual bool mim::ast::Ptrn::is_implicit ( ) const
inlinevirtual

Reimplemented in mim::ast::AliasPtrn, and mim::ast::TuplePtrn.

Definition at line 179 of file ast.h.

Referenced by mim::ast::AliasPtrn::is_implicit(), and mim::ast::LamDecl::Dom::is_implicit().

◆ to_expr()

Ptr< Expr > mim::ast::Ptrn::to_expr ( AST & ast,
Ptr< Ptrn > && ptrn )
staticnodiscard

Definition at line 169 of file ast.cpp.

References mim::ast::IdPtrn::dbg(), and mim::ast::TuplePtrn::is_brckt().

◆ to_ptrn()

Ptr< Ptrn > mim::ast::Ptrn::to_ptrn ( Ptr< Expr > && expr)
staticnodiscard

Definition at line 179 of file ast.cpp.


The documentation for this class was generated from the following files: