Mercurial > hg > octave-avbm
diff src/pt-fcn-handle.cc @ 6505:c7901606ba70
[project @ 2007-04-06 16:11:38 by jwe]
author | jwe |
---|---|
date | Fri, 06 Apr 2007 16:11:38 +0000 |
parents | 3a68a2dc6eb1 |
children | c92e679d9cc5 |
line wrap: on
line diff
--- a/src/pt-fcn-handle.cc +++ b/src/pt-fcn-handle.cc @@ -72,7 +72,7 @@ } tree_expression * -tree_fcn_handle::dup (symbol_table *sym_tab) +tree_fcn_handle::dup (symbol_table *) { tree_fcn_handle *new_fh = new tree_fcn_handle (nm, line (), column ()); @@ -87,19 +87,16 @@ tw.visit_fcn_handle (*this); } -tree_anon_fcn_handle::~tree_anon_fcn_handle (void) -{ - delete param_list; - delete cmd_list; - delete ret_list; - delete sym_tab; -} - octave_value tree_anon_fcn_handle::rvalue (void) { MAYBE_DO_BREAKPOINT; + tree_parameter_list *param_list = fcn.parameter_list (); + tree_parameter_list *ret_list = fcn.return_list (); + tree_statement_list *cmd_list = fcn.body (); + symbol_table *sym_tab = fcn.sym_tab (); + symbol_table *new_sym_tab = sym_tab ? sym_tab->dup () : 0; if (new_sym_tab) @@ -120,9 +117,9 @@ uf->mark_as_inline_function (); - octave_value fcn (uf); + octave_value ov_fcn (uf); - octave_value fh (new octave_fcn_handle (fcn, "@<anonymous>")); + octave_value fh (new octave_fcn_handle (ov_fcn, "@<anonymous>")); return fh; } @@ -143,6 +140,11 @@ tree_expression * tree_anon_fcn_handle::dup (symbol_table *st) { + tree_parameter_list *param_list = fcn.parameter_list (); + tree_parameter_list *ret_list = fcn.return_list (); + tree_statement_list *cmd_list = fcn.body (); + symbol_table *sym_tab = fcn.sym_tab (); + symbol_table *new_sym_tab = sym_tab ? sym_tab->dup () : 0; if (new_sym_tab)