Julian Hyde created CALCITE-4038: ------------------------------------ Summary: Refactor RexVisitor, RexBiVisitor, RelOptUtil.InputFinder Key: CALCITE-4038 URL: https://issues.apache.org/jira/browse/CALCITE-4038 Project: Calcite Issue Type: Bug Reporter: Julian Hyde
Various improvements to {{RexVisitor}}, {{RexBiVisitor}}, {{RelOptUtil.InputFinder}} classes. 1. Make mutable field {{RelOptUtil.InputFinder.inputBitSet}} private. The field still exists, public and deprecated, but it shadows a new private field. Rather than calling {{InputFinder.inputBitSet.build()}} you should now call {{InputFinder.build()}}. 2. In {{RexVisitor}} and {{RexBiVisitor}} add methods {{visitList}} and {{visitEach}} (the former returns a list, and the latter returns void). 3. Deprecate {{RexShuttle.apply}} in favor of {{visitList}}. 4. Add {{RexWindowBound.accept(RexBiVisitor)}}. 5. For {{RexBiVisitor<X, Integer>}} add a method {{visitEachIndexed}}, the index passed as the 'payload' argument. 6. Add abstract implementations of {{RexBiVisitor}}: {{RexUnaryBiVisitor}} and {{RexBiVisitorImpl}}. -- This message was sent by Atlassian Jira (v8.3.4#803005)