Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
Description
Create a shuttle for visiting linq4j expressions without mutating them. Rename the current Visitor class to Shuttle, create a new Visitor<R> interface, and a default implementation VisitorImpl<R>, and add a method <R> R Node.accept(Visitor<R> visitor).
Note that accept's return type is R: not necessarily a node, in fact often Void.