Fixed `DefaultTraversal`'s hash code calculation.

Project: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/commit/90fe49c6
Tree: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/tree/90fe49c6
Diff: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/diff/90fe49c6

Branch: refs/heads/TINKERPOP-1312
Commit: 90fe49c6674613a6a26713e79a1293c2fa812a34
Parents: ac00fd5
Author: Daniel Kuppitz <daniel_kupp...@hotmail.com>
Authored: Thu May 26 15:55:02 2016 +0200
Committer: Daniel Kuppitz <daniel_kupp...@hotmail.com>
Committed: Thu May 26 15:55:02 2016 +0200

----------------------------------------------------------------------
 .../gremlin/process/traversal/util/DefaultTraversal.java          | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/90fe49c6/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/DefaultTraversal.java
----------------------------------------------------------------------
diff --git 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/DefaultTraversal.java
 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/DefaultTraversal.java
index 43fc692..977e4ac 100644
--- 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/DefaultTraversal.java
+++ 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/DefaultTraversal.java
@@ -303,9 +303,10 @@ public class DefaultTraversal<S, E> implements 
Traversal.Admin<S, E> {
 
     @Override
     public int hashCode() {
+        int index = 0;
         int result = this.getClass().hashCode();
         for (final Step step : this.asAdmin().getSteps()) {
-            result ^= step.hashCode();
+            result ^= Integer.rotateLeft(step.hashCode(), index++);
         }
         return result;
     }

Reply via email to