package org.rascalmpl.library.experiments.Compiler.RVM.Interpreter.Instructions;
import org.rascalmpl.library.experiments.Compiler.RVM.Interpreter.BytecodeGenerator;
import org.rascalmpl.library.experiments.Compiler.RVM.Interpreter.CodeBlock;
import org.rascalmpl.library.experiments.Compiler.RVM.Interpreter.MuPrimitive;
public class PushCallMuPrim0 extends Instruction {
MuPrimitive muprim;
public PushCallMuPrim0(CodeBlock ins, MuPrimitive muprim) {
super(ins, Opcode.PUSHCALLMUPRIM0);
this.muprim = muprim;
}
public String toString() {
return "PUSHCALLMUPRIM0 " + muprim ;
}
public void generate() {
codeblock.addCode1(opcode.getOpcode(), muprim.ordinal());
}
public void generateByteCode(BytecodeGenerator codeEmittor, boolean debug) {
if ( debug )
codeEmittor.emitDebugCall1(opcode.name(), muprim.ordinal());
codeEmittor.emitInlinePushCallMuPrim0(muprim, debug);
}
}