allow instructions to override the encode method

This commit is contained in:
Kevin Ramharak 2019-01-14 17:48:49 +01:00
parent 7ba46ec36e
commit 1d3d441996

View File

@ -133,7 +133,7 @@ public abstract class Instruction {
* *
* @param out encoded bytes will be written here * @param out encoded bytes will be written here
*/ */
void encode(ByteArrayOutputStream out, int currentLine) throws IllegalOperandException { public void encode(ByteArrayOutputStream out, int currentLine) throws IllegalOperandException {
if (!noOperandsValid()) { if (!noOperandsValid()) {
throw new IllegalOperandException("This instruction must have operand(s)!", currentLine); throw new IllegalOperandException("This instruction must have operand(s)!", currentLine);
@ -147,7 +147,7 @@ public abstract class Instruction {
} }
} }
void encode(ByteArrayOutputStream out, Operand o1, Operand o2, int currentLine) public void encode(ByteArrayOutputStream out, Operand o1, Operand o2, int currentLine)
throws IllegalOperandException { throws IllegalOperandException {
MachineCode code = new MachineCode(); MachineCode code = new MachineCode();
code.writeOpcode(opCode); code.writeOpcode(opCode);
@ -182,7 +182,7 @@ public abstract class Instruction {
} }
} }
void encode(ByteArrayOutputStream out, Operand o1, int currentLine) public void encode(ByteArrayOutputStream out, Operand o1, int currentLine)
throws IllegalOperandException { throws IllegalOperandException {
MachineCode code = new MachineCode(); MachineCode code = new MachineCode();
code.writeOpcode(opCode); code.writeOpcode(opCode);