traverse

fun <T : Node> traverse(rootNode: T, callback: (path: NodePath<*>) -> Node): T

Traverse the given AST node and its descendants depth-first order and calls the given callback function for each node. When the callback function returns a different node, the node is replaced with the returned node.

Return

the modified root node.

Parameters

rootNode

root AST node to traverse.

callback

callback function to be called for each node.