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=8bed58cd47f4e53a0a83e066d38864aa6875502f;hp=cca106ed86f82db27f9c2e202c070e1529a297f4;hpb=21f5ad7261fa02502dceafd7dd1aa6f1718ef67b;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 cca106ed..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,34 +42,20 @@ 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() {