diff options
author | John Wiegley <johnw@newartisans.com> | 2012-03-08 00:44:27 -0600 |
---|---|---|
committer | John Wiegley <johnw@newartisans.com> | 2012-03-08 00:44:40 -0600 |
commit | 4d011434003262c9a49b0b4636b2ac479a84e058 (patch) | |
tree | 183b5a30e1e87b1aa3c39a3eaa63978b23752837 /src/op.h | |
parent | ae4ef7a88ddd39ed544383e65d3c55ba97f4f8c1 (diff) | |
download | fork-ledger-4d011434003262c9a49b0b4636b2ac479a84e058.tar.gz fork-ledger-4d011434003262c9a49b0b4636b2ac479a84e058.tar.bz2 fork-ledger-4d011434003262c9a49b0b4636b2ac479a84e058.zip |
Many improvements to lambdas and function calling
Diffstat (limited to 'src/op.h')
-rw-r--r-- | src/op.h | 8 |
1 files changed, 8 insertions, 0 deletions
@@ -280,6 +280,9 @@ public: value_t calc(scope_t& scope, ptr_op_t * locus = NULL, const int depth = 0); + value_t call(const value_t& args, scope_t& scope, + ptr_op_t * locus = NULL, const int depth = 0); + struct context_t { ptr_op_t expr_op; @@ -307,6 +310,11 @@ public: static ptr_op_t wrap_functor(expr_t::func_t fobj); static ptr_op_t wrap_scope(shared_ptr<scope_t> sobj); +private: + value_t calc_call(scope_t& scope, ptr_op_t * locus, const int depth); + value_t calc_cons(scope_t& scope, ptr_op_t * locus, const int depth); + value_t calc_seq(scope_t& scope, ptr_op_t * locus, const int depth); + #if defined(HAVE_BOOST_SERIALIZATION) private: /** Serialization. */ |