/* * This file is part of the Jikes RVM project (http://jikesrvm.org). * * This file is licensed to You under the Eclipse Public License (EPL); * You may not use this file except in compliance with the License. You * may obtain a copy of the License at * * http://www.opensource.org/licenses/eclipse-1.0.php * * See the COPYRIGHT.txt file distributed with this work for information * regarding copyright ownership. */ package org.jikesrvm.compilers.opt.regalloc; /** * A basic interval contained in a CompoundInterval. */ class MappedBasicInterval extends BasicInterval { final CompoundInterval container; MappedBasicInterval(BasicInterval b, CompoundInterval c) { super(b.begin, b.end); this.container = c; } MappedBasicInterval(int begin, int end, CompoundInterval c) { super(begin, end); this.container = c; } @Override public boolean equals(Object o) { if (super.equals(o)) { MappedBasicInterval i = (MappedBasicInterval) o; return container == i.container; } else { return false; } } // Note that it is not necessary to overwrite hashCode() because // it need only be the case that equal objects have equal hash codes // which is already handled by BasicInterval. @Override public String toString() { return "<" + container.getRegister() + ">:" + super.toString(); } }