This visitor walks through the tree and copies each node as it is being visited. This is useful for consumers that want to mutate the tree, as you can change subtrees in place without effecting the rest of the tree.

Instance Methods

Copy a AliasMethodNode node

Copy a AndNode node

Copy a ArgumentsNode node

Copy a ArrayNode node

Copy a ArrayPatternNode node

Copy a AssocNode node

Copy a AssocSplatNode node

Copy a BackReferenceReadNode node

Copy a BeginNode node

Copy a BlockArgumentNode node

Copy a BlockNode node

Copy a BlockParameterNode node

Copy a BlockParametersNode node

Copy a BreakNode node

Copy a CallAndWriteNode node

Copy a CallNode node

Copy a CallOperatorWriteNode node

Copy a CallOrWriteNode node

Copy a CallTargetNode node

Copy a CapturePatternNode node

Copy a CaseMatchNode node

Copy a CaseNode node

Copy a ClassNode node

Copy a ClassVariableReadNode node

Copy a ConstantAndWriteNode node

Copy a ConstantOrWriteNode node

Copy a ConstantPathNode node

Copy a ConstantPathWriteNode node

Copy a ConstantReadNode node

Copy a ConstantTargetNode node

Copy a ConstantWriteNode node

Copy a DefNode node

Copy a DefinedNode node

Copy a ElseNode node

Copy a EmbeddedVariableNode node

Copy a EnsureNode node

Copy a FalseNode node

Copy a FindPatternNode node

Copy a FlipFlopNode node

Copy a FloatNode node

Copy a ForNode node

Copy a ForwardingSuperNode node

Copy a HashNode node

Copy a HashPatternNode node

Copy a IfNode node

Copy a ImaginaryNode node

Copy a ImplicitNode node

Copy a ImplicitRestNode node

Copy a InNode node

Copy a IndexAndWriteNode node

Copy a IndexOrWriteNode node

Copy a IndexTargetNode node

Copy a IntegerNode node

Copy a KeywordHashNode node

Copy a LambdaNode node

Copy a LocalVariableReadNode node

Copy a MatchLastLineNode node

Copy a MatchPredicateNode node

Copy a MatchRequiredNode node

Copy a MatchWriteNode node

Copy a MissingNode node

Copy a ModuleNode node

Copy a MultiTargetNode node

Copy a MultiWriteNode node

Copy a NextNode node

Copy a NilNode node

Copy a OptionalParameterNode node

Copy a OrNode node

Copy a ParametersNode node

Copy a ParenthesesNode node

Copy a PinnedExpressionNode node

Copy a PinnedVariableNode node

Copy a PostExecutionNode node

Copy a PreExecutionNode node

Copy a ProgramNode node

Copy a RangeNode node

Copy a RationalNode node

Copy a RedoNode node

Copy a RegularExpressionNode node

Copy a RequiredParameterNode node

Copy a RescueModifierNode node

Copy a RescueNode node

Copy a RestParameterNode node

Copy a RetryNode node

Copy a ReturnNode node

Copy a SelfNode node

Copy a SingletonClassNode node

Copy a SourceEncodingNode node

Copy a SourceFileNode node

Copy a SourceLineNode node

Copy a SplatNode node

Copy a StatementsNode node

Copy a StringNode node

Copy a SuperNode node

Copy a SymbolNode node

Copy a TrueNode node

Copy a UndefNode node

Copy a UnlessNode node

Copy a UntilNode node

Copy a WhenNode node

Copy a WhileNode node

Copy a XStringNode node

Copy a YieldNode node