changeset 12691:426786412db6

AssumptionValidAssumption: implement equals() and hashCode() to avoid duplicate registration.
author Andreas Woess <andreas.woess@jku.at>
date Wed, 06 Nov 2013 13:38:09 +0100
parents c3bdd186e6cf
children ffd4b6b4ae68
files graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/AssumptionValidAssumption.java
diffstat 1 files changed, 22 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/AssumptionValidAssumption.java	Wed Nov 06 13:31:28 2013 +0100
+++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/AssumptionValidAssumption.java	Wed Nov 06 13:38:09 2013 +0100
@@ -25,17 +25,37 @@
 import com.oracle.graal.api.code.*;
 import com.oracle.graal.truffle.*;
 
-public class AssumptionValidAssumption extends Assumptions.Assumption {
+public final class AssumptionValidAssumption extends Assumptions.Assumption {
 
     private static final long serialVersionUID = 2010244979610891262L;
 
-    private OptimizedAssumption assumption;
+    private final OptimizedAssumption assumption;
 
     public AssumptionValidAssumption(OptimizedAssumption assumption) {
         this.assumption = assumption;
+        assert assumption != null;
     }
 
     public OptimizedAssumption getAssumption() {
         return assumption;
     }
+
+    @Override
+    public int hashCode() {
+        return 31 + assumption.hashCode();
+    }
+
+    @Override
+    public boolean equals(Object obj) {
+        if (obj instanceof AssumptionValidAssumption) {
+            AssumptionValidAssumption other = (AssumptionValidAssumption) obj;
+            return other.assumption == this.assumption;
+        }
+        return false;
+    }
+
+    @Override
+    public String toString() {
+        return assumption.toString();
+    }
 }