MimIR 0.1
MimIR is my Intermediate Representation
|
Wrapper around a Def that can be used to match closures (see isa_clos_lit). More...
#include <mim/plug/clos/clos.h>
Public Member Functions | |
operator bool () const | |
operator const Tuple * () | |
const Tuple * | operator-> () |
Getters | |
const Sigma * | type () |
Ref | env () |
Ref | env_type () |
Ref | fnc () |
const Pi * | fnc_type () |
Lam * | fnc_as_lam () |
Ref | env_var () |
Ref | ret_var () |
Properties | |
bool | is_returning () |
bool | is_basicblock () |
attr | get () |
Clos annotation. These should appear in front of the code-part. | |
Friends | |
ClosLit | isa_clos_lit (Ref def, bool fn_isa_lam=true) |
Tries to match a closure literal. | |
Wrapper around a Def that can be used to match closures (see isa_clos_lit).
Ref mim::plug::clos::ClosLit::env | ( | ) |
Definition at line 46 of file clos.cpp.
References mim::plug::clos::clos_unpack(), and std::get().
Referenced by env_type().
|
inline |
Definition at line 23 of file clos.h.
References env(), and mim::Def::type().
Ref mim::plug::clos::ClosLit::env_var | ( | ) |
Definition at line 62 of file clos.cpp.
References mim::plug::clos::Clos_Env_Param, fnc_as_lam(), and mim::Def::var().
Ref mim::plug::clos::ClosLit::fnc | ( | ) |
Definition at line 51 of file clos.cpp.
References mim::plug::clos::clos_unpack(), and std::get().
Referenced by fnc_as_lam(), and fnc_type().
Lam * mim::plug::clos::ClosLit::fnc_as_lam | ( | ) |
|
inline |
Definition at line 26 of file clos.h.
References fnc(), and mim::Def::type().
Referenced by is_basicblock(), and is_returning().
|
inline |
|
inline |
Definition at line 44 of file clos.h.
References fnc_type(), and mim::Pi::isa_basicblock().
|
inline |
Definition at line 43 of file clos.h.
References fnc_type(), and mim::Pi::isa_returning().
|
inlineexplicit |
|
inline |
Definition at line 30 of file clos.h.
References fnc_as_lam(), and mim::Lam::ret_var().
|
inline |
Definition at line 17 of file clos.h.
References mim::Def::type().