Mercurial > hg > graal-jvmci-8
diff jvmci/jdk.vm.ci.meta/src/jdk/vm/ci/meta/Local.java @ 23393:1d4ce2d19e52
clean up and minimize JVMCI (JDK-8156835)
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Thu, 12 May 2016 20:57:31 +0200 |
parents | 1bbd4a7c274b |
children | 9e1235406b59 |
line wrap: on
line diff
--- a/jvmci/jdk.vm.ci.meta/src/jdk/vm/ci/meta/Local.java Thu May 12 11:06:49 2016 +0200 +++ b/jvmci/jdk.vm.ci.meta/src/jdk/vm/ci/meta/Local.java Thu May 12 20:57:31 2016 +0200 @@ -22,15 +22,58 @@ */ package jdk.vm.ci.meta; -public interface Local { +public class Local { + + private final String name; + private final int startBci; + private final int endBci; + private final int slot; + private final JavaType type; - int getStartBCI(); + public Local(String name, JavaType type, int startBci, int endBci, int slot) { + this.name = name; + this.startBci = startBci; + this.endBci = endBci; + this.slot = slot; + this.type = type; + } - int getEndBCI(); + public int getStartBCI() { + return startBci; + } + + public int getEndBCI() { + return endBci; + } + + public String getName() { + return name; + } - int getSlot(); + public JavaType getType() { + return type; + } + + public int getSlot() { + return slot; + } - String getName(); + @Override + public boolean equals(Object obj) { + if (!(obj instanceof Local)) { + return false; + } + Local that = (Local) obj; + return this.name.equals(that.name) && this.startBci == that.startBci && this.endBci == that.endBci && this.slot == that.slot && this.type.equals(that.type); + } - JavaType getType(); + @Override + public int hashCode() { + return super.hashCode(); + } + + @Override + public String toString() { + return "LocalImpl<name=" + name + ", type=" + type + ", startBci=" + startBci + ", endBci=" + endBci + ", slot=" + slot + ">"; + } }