comparison src/pt-stmt.cc @ 5861:2a6cb4ed8f1e

[project @ 2006-06-16 05:09:41 by jwe]
author jwe
date Fri, 16 Jun 2006 05:09:42 +0000
parents 6bd94066d360
children f1676652d808
comparison
equal deleted inserted replaced
5860:b645066d40ad 5861:2a6cb4ed8f1e
141 } 141 }
142 142
143 return retval; 143 return retval;
144 } 144 }
145 145
146 tree_statement *
147 tree_statement::dup (symbol_table *sym_tab)
148 {
149 tree_statement *new_stmt = new tree_statement ();
150
151 new_stmt->cmd = cmd ? cmd->dup (sym_tab) : 0;
152
153 new_stmt->expr = expr ? expr->dup (sym_tab) : 0;
154
155 new_stmt->comm = comm ? comm->dup () : 0;
156
157 new_stmt->print_flag = print_flag;
158
159 return new_stmt;
160 }
161
146 void 162 void
147 tree_statement::accept (tree_walker& tw) 163 tree_statement::accept (tree_walker& tw)
148 { 164 {
149 tw.visit_statement (*this); 165 tw.visit_statement (*this);
150 } 166 }
249 accept (tbp); 265 accept (tbp);
250 266
251 return tbp.get_list (); 267 return tbp.get_list ();
252 } 268 }
253 269
270 tree_statement_list *
271 tree_statement_list::dup (symbol_table *sym_tab)
272 {
273 tree_statement_list *new_list = new tree_statement_list ();
274
275 new_list->function_body = function_body;
276
277 for (iterator p = begin (); p != end (); p++)
278 {
279 tree_statement *elt = *p;
280
281 new_list->append (elt ? elt->dup (sym_tab) : 0);
282 }
283
284 return new_list;
285 }
286
254 void 287 void
255 tree_statement_list::accept (tree_walker& tw) 288 tree_statement_list::accept (tree_walker& tw)
256 { 289 {
257 tw.visit_statement_list (*this); 290 tw.visit_statement_list (*this);
258 } 291 }