Mercurial > hg > truffle
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(); + } }