public class TransformingCodeVisitor
extends CodeVisitorSupport
Code visitor that combines depth-first traversal with expression transformation, delegating both to an underlying ClassCodeExpressionTransformer.
This visitor implements a two-phase approach for each statement and expression:
This pattern enables both traversal and transformation in a single pass. The transformer receives fully-traversed nodes, allowing it to operate on complete subtrees or apply post-processing transformations after children are visited.
Typical usage involves creating a subclass of ClassCodeExpressionTransformer and passing it to this visitor:
ClassCodeExpressionTransformer transformer = new MyTransformer(...);
TransformingCodeVisitor visitor = new TransformingCodeVisitor(transformer);
node.visit(visitor);
| Constructor and description |
|---|
TransformingCodeVisitor(ClassCodeExpressionTransformer trn)Creates a new transforming visitor with the given transformer. |
Creates a new transforming visitor with the given transformer.
trn - the ClassCodeExpressionTransformer to apply after traversing each node;
must not be nullVisits a BlockStatement, performing depth-first traversal followed by transformer processing.
block - the block statement to visit and transformCopyright © 2003-2026 The Apache Software Foundation. All rights reserved.