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)