From: Fabian Stemmler Date: Thu, 10 Oct 2019 11:57:23 +0000 (+0200) Subject: 0th Mnemonic is default Mnemonic not otherwise specified X-Git-Url: https://mograsim.net/gitweb/?p=Mograsim.git;a=commitdiff_plain;h=0298db577e6828c7dfbe1928eba5f851594a0b57 0th Mnemonic is default Mnemonic not otherwise specified --- 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)) {