xo-expression: + captured-var methods
This commit is contained in:
parent
24d9d504b5
commit
5ac3c03a0c
2 changed files with 3 additions and 0 deletions
|
|
@ -40,7 +40,9 @@ namespace xo {
|
|||
const std::vector<rp<Variable>> & argv() const { return local_env_->argv(); }
|
||||
const rp<Expression> & body() const { return body_; }
|
||||
|
||||
const std::string& i_argname(int i_arg) const { return local_env_->lookup_arg(i_arg)->name(); }
|
||||
bool needs_closure_flag() const { return !free_var_set_.empty(); }
|
||||
bool is_captured(const std::string& var) const { return (captured_var_set_.find(var) != captured_var_set_.end()); }
|
||||
|
||||
// ----- FunctionInterface -----
|
||||
|
||||
|
|
|
|||
|
|
@ -32,6 +32,7 @@ namespace xo {
|
|||
|
||||
Lambda * origin() const { return origin_; }
|
||||
const std::vector<rp<Variable>> & argv() const { return argv_; }
|
||||
const rp<Variable>& lookup_arg(int i) const { return argv_[i]; }
|
||||
int n_arg() const { return argv_.size(); }
|
||||
TypeDescr fn_arg(uint32_t i) const { return argv_[i]->valuetype(); }
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue