This is an automated email from the ASF dual-hosted git repository. kenhuuu pushed a commit to branch type-params in repository https://gitbox.apache.org/repos/asf/tinkerpop.git
commit 33fb1cb1e3fbac0fe2f584bc8b4ed9b936050149 Author: Ken Hu <[email protected]> AuthorDate: Thu Nov 2 15:27:17 2023 -0700 Update type parameters for reverse and merge CTR. These two steps can return different types depending on the incoming traverser. The original design used a wildcard to deal with this but this could be frustating for users as they would always need to cast. This update essentially changes the type to Object to reduce the potential amount of casting the user needs to do. --- .../gremlin/process/traversal/dsl/graph/GraphTraversal.java | 4 ++-- .../tinkerpop/gremlin/process/traversal/dsl/graph/__.java | 11 ++--------- 2 files changed, 4 insertions(+), 11 deletions(-) diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.java index d0970bd458..247f6178f8 100644 --- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.java +++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.java @@ -1567,7 +1567,7 @@ public interface GraphTraversal<S, E> extends Traversal<S, E> { * @see <a href="http://tinkerpop.apache.org/docs/${project.version}/reference/#reverse-step" target="_blank">Reference Documentation - Reverse Step</a> * @since 3.7.1 */ - public default GraphTraversal<S, ?> reverse() { + public default <E2> GraphTraversal<S, E2> reverse() { this.asAdmin().getBytecode().addStep(Symbols.reverse); return this.asAdmin().addStep(new ReverseStep<>(this.asAdmin())); } @@ -1749,7 +1749,7 @@ public interface GraphTraversal<S, E> extends Traversal<S, E> { * @see <a href="http://tinkerpop.apache.org/docs/${project.version}/reference/#merge-step" target="_blank">Reference Documentation - Merge Step</a> * @since 3.7.1 */ - public default GraphTraversal<S, ?> merge(final Object values) { + public default <E2> GraphTraversal<S, E2> merge(final Object values) { this.asAdmin().getBytecode().addStep(Symbols.merge, values); return this.asAdmin().addStep(new TraversalMergeStep<>(this.asAdmin(), values)); } diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/__.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/__.java index 50f7669359..f50a99d766 100644 --- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/__.java +++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/__.java @@ -657,17 +657,10 @@ public class __ { /** * @see GraphTraversal#reverse() */ - public static <A> GraphTraversal<A, ?> reverse() { + public static <A, B> GraphTraversal<A, B> reverse() { return __.<A>start().reverse(); } - /** - * @see GraphTraversal#reverse() - */ -// public static <A> GraphTraversal<A, List<?>> reverse() { -// return __.<A>start().reverse(); -// } - /** * @see GraphTraversal#replace(String, String) */ @@ -762,7 +755,7 @@ public class __ { /** * @see GraphTraversal#merge(Object) */ - public static <A> GraphTraversal<A, ?> merge(final Object values) { + public static <A, B> GraphTraversal<A, B> merge(final Object values) { return __.<A>start().merge(values); }
