]> sourceware.org Git - systemtap.git/commit - staptree.cxx
Create update_visitor for modifying trees
authorJosh Stone <jistone@redhat.com>
Fri, 6 Feb 2009 04:02:35 +0000 (20:02 -0800)
committerJosh Stone <jistone@redhat.com>
Wed, 11 Feb 2009 00:49:35 +0000 (16:49 -0800)
commit4b6455e82679becf3ad12e4f12abb70de1ee271d
tree41ab74c39b45203c8ce9552674bc409094e0a82a
parent4ed05b152284d9d4b8545f6e70c57ebdcd993f46
Create update_visitor for modifying trees

* staptree.h (update_visitor): A new visitor to make it easier to
rewrite parts of a probe or function without making a full copy.
* staptree.cxx (update_visitor::*): Each child is recursed with a
require() call, and then the parent returns itself with provide().
* staptree.h (deep_copy_visitor): Inherit from update_visitor to get
the recursive descent while updating nodes.
* staptree.cxx (deep_copy_visitor::*): Use the implicit copy
constructors to copy all fields, then defer to update_visitor for the
recursion.  Referents are still cleared from the copies of symbols and
function calls.
ChangeLog
staptree.cxx
staptree.h
This page took 0.027532 seconds and 5 git commands to generate.