Thorin 1.9.0
The Higher ORder INtermediate representation
|
#include <thorin/fe/ast.h>
Public Member Functions | |
TuplePtrn (Dbg dbg, bool rebind, Ptrns &&ptrns, const Def *type, std::vector< Infer * > &&infers, Def *decl) | |
const Ptrns & | ptrns () const |
const Ptrn * | ptrn (size_t i) const |
size_t | num_ptrns () const |
void | bind (Scopes &, const Def *, bool rebind=false) const override |
const Def * | type (World &, Def2Fields &) const override |
Public Member Functions inherited from thorin::Ptrn | |
Ptrn (Dbg dbg, bool rebind, const Def *type) | |
virtual | ~Ptrn () |
Dbg | dbg () const |
Loc | loc () const |
Sym | sym () const |
bool | rebind () const |
bool | is_anonymous () const |
Additional Inherited Members | |
Protected Attributes inherited from thorin::Ptrn | |
Dbg | dbg_ |
bool | rebind_ |
const Def * | type_ |
|
overridevirtual |
Implements thorin::Ptrn.
Definition at line 20 of file ast.cpp.
References thorin::Scopes::bind(), thorin::Ptrn::bind(), thorin::Ptrn::dbg(), thorin::Ptrn::loc(), num_ptrns(), thorin::Def::proj(), ptrn(), thorin::Ptrn::rebind(), thorin::Def::set(), and thorin::Ptrn::sym().
|
inline |
|
inline |
|
inline |
Definition at line 64 of file ast.h.
Referenced by num_ptrns().
|
overridevirtual |
Implements thorin::Ptrn.
Definition at line 37 of file ast.cpp.
References thorin::assert_emplace(), thorin::error(), thorin::Def::isa_mut(), thorin::Ptrn::loc(), thorin::World::mut_sigma(), num_ptrns(), ptrn(), thorin::Def::set(), thorin::Sigma::set(), thorin::World::sigma(), thorin::Ptrn::sym(), thorin::Type, thorin::Ptrn::type(), type(), thorin::Ptrn::type_, and thorin::World::umax().
Referenced by type().