Lines Matching full:instruction
21 package proguard.classfile.instruction;
25 import proguard.classfile.instruction.visitor.InstructionVisitor;
28 * This Instruction represents an instruction that refers to a variable on the
33 public class VariableInstruction extends Instruction
78 * Copies the given instruction into this instruction.
79 * @param variableInstruction the instruction to be copied.
80 * @return this instruction.
140 * Returns whether this instruction stores the value of a variable.
141 * The value is false for the ret instruction, but true for the iinc
142 * instruction.
146 // A store instruction can be recognized as follows. Note that this
147 // excludes the ret instruction, which has a negative opcode.
154 * Returns whether this instruction loads the value of a variable.
155 * The value is true for the ret instruction and for the iinc
156 * instruction.
160 // A load instruction can be recognized as follows. Note that this
161 // includes the ret instruction, which has a negative opcode.
166 // Implementations for Instruction.
219 public Instruction shrink()
223 // Is this instruction pointing to a variable with index from 0 to 3?
242 // Only make the instruction wide if necessary.
285 throw new IllegalArgumentException("Instruction has invalid variable index size ("+this.toString(offset)+")");
290 throw new IllegalArgumentException("Instruction has invalid constant size ("+this.toString(offset)+")");
324 * Returns the variable index size for this instruction.
338 * Computes the required variable index size for this instruction's variable
352 * Returns the constant size for this instruction.
363 * Computes the required constant size for this instruction's constant.