mirror of
https://github.com/FranzHaidnor/haidnorJVM.git
synced 2026-03-13 21:43:42 +08:00
Not support JavaVM opcode MULTIANEWARRAY
This commit is contained in:
@@ -4,10 +4,7 @@ import haidnor.jvm.instruction.comparisons.*;
|
||||
import haidnor.jvm.instruction.constants.*;
|
||||
import haidnor.jvm.instruction.control.*;
|
||||
import haidnor.jvm.instruction.conversions.*;
|
||||
import haidnor.jvm.instruction.extended.GOTO;
|
||||
import haidnor.jvm.instruction.extended.GOTO_W;
|
||||
import haidnor.jvm.instruction.extended.IFNONNULL;
|
||||
import haidnor.jvm.instruction.extended.IFNULL;
|
||||
import haidnor.jvm.instruction.extended.*;
|
||||
import haidnor.jvm.instruction.loads.*;
|
||||
import haidnor.jvm.instruction.math.*;
|
||||
import haidnor.jvm.instruction.references.*;
|
||||
@@ -613,7 +610,7 @@ public abstract class InstructionFactory {
|
||||
throw new Error("Not support JavaVM opcode WIDE");
|
||||
}
|
||||
case Const.MULTIANEWARRAY -> {
|
||||
throw new Error("Not support JavaVM opcode MULTIANEWARRAY");
|
||||
return new MULTIANEWARRAY(codeStream);
|
||||
}
|
||||
case Const.IFNULL -> {
|
||||
return new IFNULL(codeStream);
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
package haidnor.jvm.instruction.extended;
|
||||
|
||||
import haidnor.jvm.instruction.Instruction;
|
||||
import haidnor.jvm.runtime.Frame;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
|
||||
public class MULTIANEWARRAY extends Instruction {
|
||||
|
||||
public final int index;
|
||||
public final int dimensions;
|
||||
|
||||
public MULTIANEWARRAY(CodeStream codeStream) {
|
||||
super(codeStream);
|
||||
this.index = codeStream.readUnsignedShort(this);
|
||||
this.dimensions = codeStream.readUnsignedByte(this);
|
||||
|
||||
throw new UnsupportedOperationException("MULTIANEWARRAY");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void execute(Frame frame) {
|
||||
throw new UnsupportedOperationException("MULTIANEWARRAY");
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user