Mercurial > hg > octave-lyh
diff src/pt-fcn-handle.h @ 6505:c7901606ba70
[project @ 2007-04-06 16:11:38 by jwe]
author | jwe |
---|---|
date | Fri, 06 Apr 2007 16:11:38 +0000 |
parents | 2a6cb4ed8f1e |
children | 93c65f2a5668 |
line wrap: on
line diff
--- a/src/pt-fcn-handle.h +++ b/src/pt-fcn-handle.h @@ -37,6 +37,7 @@ class tree_walker; #include "ov.h" +#include "ov-usr-fcn.h" class tree_fcn_handle : public tree_expression @@ -89,16 +90,14 @@ public: tree_anon_fcn_handle (int l = -1, int c = -1) - : tree_expression (l, c), param_list (0), cmd_list (0), - ret_list (0), sym_tab (0) { } + : tree_expression (l, c), fcn () { } - tree_anon_fcn_handle (tree_parameter_list *p, tree_parameter_list *r, + tree_anon_fcn_handle (tree_parameter_list *pl, tree_parameter_list *rl, tree_statement_list *cl, symbol_table *st, int l = -1, int c = -1) - : tree_expression (l, c), param_list (p), cmd_list (cl), - ret_list (r), sym_tab (st) { } + : tree_expression (l, c), fcn (pl, rl, cl, st) { } - ~tree_anon_fcn_handle (void); + ~tree_anon_fcn_handle (void) { } bool has_magic_end (void) const { return false; } @@ -108,9 +107,9 @@ octave_value_list rvalue (int nargout); - tree_parameter_list *parameter_list (void) { return param_list; } + tree_parameter_list *parameter_list (void) { return fcn.parameter_list (); } - tree_statement_list *body (void) { return cmd_list; } + tree_statement_list *body (void) { return fcn.body (); } tree_expression *dup (symbol_table *sym_tab); @@ -118,17 +117,8 @@ private: - // The parameter list. - tree_parameter_list *param_list; - - // The statement that makes up the body of the function. - tree_statement_list *cmd_list; - - // The list of return values. - tree_parameter_list *ret_list; - - // The symbol table. - symbol_table *sym_tab; + // The function. + octave_user_function fcn; // No copying!