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);
     }
 

Reply via email to