From 0298db577e6828c7dfbe1928eba5f851594a0b57 Mon Sep 17 00:00:00 2001 From: Fabian Stemmler Date: Thu, 10 Oct 2019 13:57:23 +0200 Subject: [PATCH] 0th Mnemonic is default Mnemonic not otherwise specified --- .../net/mograsim/machine/mi/parameters/MnemonicFamily.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/plugins/net.mograsim.machine/src/net/mograsim/machine/mi/parameters/MnemonicFamily.java b/plugins/net.mograsim.machine/src/net/mograsim/machine/mi/parameters/MnemonicFamily.java index 445485b8..aecf7c52 100644 --- a/plugins/net.mograsim.machine/src/net/mograsim/machine/mi/parameters/MnemonicFamily.java +++ b/plugins/net.mograsim.machine/src/net/mograsim/machine/mi/parameters/MnemonicFamily.java @@ -8,6 +8,7 @@ import java.util.stream.Collectors; import net.mograsim.logic.core.types.Bit; import net.mograsim.logic.core.types.BitVector; +import net.mograsim.machine.MachineException; import net.mograsim.machine.mi.parameters.MicroInstructionParameter.ParameterType; public class MnemonicFamily implements ParameterClassification @@ -20,12 +21,15 @@ public class MnemonicFamily implements ParameterClassification MnemonicFamily(String defaultValueName, MnemonicPair... values) { + if (values.length == 0) + throw new MachineException("Mnemonics must not be empty!"); this.values = new Mnemonic[values.length]; this.stringValues = new String[values.length]; setup(values); - int defaultValueIndex = -1; + // if no valid defaultValue is specified, pick first value as default + int defaultValueIndex = 0; for (int i = 0; i < values.length; i++) if (stringValues[i].equals(defaultValueName)) { -- 2.17.1