X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=net.mograsim.machine%2Fsrc%2Fnet%2Fmograsim%2Fmachine%2Fmi%2Fparameters%2FMnemonic.java;h=14bbe3be8dd81863b36d6a070ad4f7e8f566a84f;hb=88e1b4382640ee4e907e06572fe6794bc925f344;hp=cca106ed86f82db27f9c2e202c070e1529a297f4;hpb=61621670ab3ea56eea6571cc9bba5e015c9f0861;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..14bbe3be 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; + final MnemonicFamily owner; + private final int ordinal; - public Mnemonic(String text, BitVector vector) + 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,32 +42,18 @@ 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