BoxInstr.java
- package org.jruby.ir.instructions.boxing;
- import org.jruby.ir.Operation;
- import org.jruby.ir.instructions.Instr;
- import org.jruby.ir.instructions.ResultInstr;
- import org.jruby.ir.operands.Operand;
- import org.jruby.ir.operands.Variable;
- public abstract class BoxInstr extends Instr implements ResultInstr {
- private Variable result;
- private Operand val;
- public BoxInstr(Operation op, Variable result, Operand val) {
- super(op);
- this.result = result;
- this.val = val;
- }
- public Operand[] getOperands() {
- return new Operand[]{val};
- }
- public Variable getResult() {
- return result;
- }
- public void updateResult(Variable v) {
- this.result = v;
- }
- public Operand getValue() {
- return val;
- }
- @Override
- public String toString() {
- return getResult() + " = " + getOperation() + "(" + val + ")";
- }
- }