Sha256: 8ffc6a5844fe2bb6dfc02bcc78de3f0bb3c08965ea9414106cf9055b3abaa67d
Contents?: true
Size: 596 Bytes
Versions: 7
Compression:
Stored size: 596 Bytes
Contents
# # Clone a tree_node # class CloneTreeNodeVisitor < TreeNodeVisitor attr_reader :cloned_root def initialize super @cloned_root = nil @stack = [] end def enter_tree_node( treeNode ) if @stack.empty? cloned_tree_node = TreeNode.new( treeNode.name ) @cloned_root = cloned_tree_node else cloned_tree_node = TreeNode.new( treeNode.name, @stack.last ) end @stack.push( cloned_tree_node ) end def exit_tree_node( treeNode ) @stack.pop end def visit_leaf_node( leaf_node ) LeafNode.new( leaf_node.name, @stack.last ) end end
Version data entries
7 entries across 7 versions & 1 rubygems