# HG changeset patch # User Andreas Woess # Date 1383741489 -3600 # Node ID 426786412db6030f566a1d1925b97802900295ce # Parent c3bdd186e6cfa98bf401fc99df8297a1b2fca6ee AssumptionValidAssumption: implement equals() and hashCode() to avoid duplicate registration. diff -r c3bdd186e6cf -r 426786412db6 graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/AssumptionValidAssumption.java --- 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(); + } }