X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=net.mograsim.machine%2Fsrc%2Fnet%2Fmograsim%2Fmachine%2Fmi%2Fparameters%2FMnemonic.java;h=5ea2be05432702daea5866e6b59623bd8aee5925;hb=4ba119cab03498736851e6f3f32eec1957839a2e;hp=feeb88e8bde9dfe931ea743bb53e80c8387f176a;hpb=5e4efdd581f04578be5f59e591f4bcf746df44d8;p=Mograsim.git diff --git a/net.mograsim.machine/src/net/mograsim/machine/mi/parameters/Mnemonic.java b/net.mograsim.machine/src/net/mograsim/machine/mi/parameters/Mnemonic.java index feeb88e8..5ea2be05 100644 --- a/net.mograsim.machine/src/net/mograsim/machine/mi/parameters/Mnemonic.java +++ b/net.mograsim.machine/src/net/mograsim/machine/mi/parameters/Mnemonic.java @@ -6,12 +6,16 @@ public final class Mnemonic implements MicroInstructionParameter { private final String text; private final BitVector vector; - - public Mnemonic(String text, BitVector vector) + final MnemonicFamily owner; + private final int ordinal; + + Mnemonic(String text, BitVector vector, MnemonicFamily owner, int ordinal) { super(); this.text = text; this.vector = vector; + this.owner = owner; + this.ordinal = ordinal; } public String getText() @@ -38,31 +42,23 @@ public final class Mnemonic implements MicroInstructionParameter @Override public boolean equals(Object obj) { - if (this == obj) - return true; - if (obj == null) - return false; - if (!(obj instanceof Mnemonic)) - return false; - Mnemonic other = (Mnemonic) obj; - if (text == null) - { - if (other.text != null) - return false; - } else if (!text.equals(other.text)) - return false; - if (vector == null) - { - if (other.vector != null) - return false; - } else if (!vector.equals(other.vector)) - return false; - return true; + return this == obj; } @Override public ParameterType getType() { - return ParameterType.MNEMONIC; + return owner.getExpectedType(); + } + + public int ordinal() + { + return ordinal; + } + + @Override + public String toString() + { + return text; } }