Class ArithmeticInstruction
java.lang.Object
org.apache.bcel.generic.Instruction
org.apache.bcel.generic.ArithmeticInstruction
- All Implemented Interfaces:
Cloneable, StackConsumer, StackProducer, TypedInstruction
- Direct Known Subclasses:
DADD, DDIV, DMUL, DNEG, DREM, DSUB, FADD, FDIV, FMUL, FNEG, FREM, FSUB, IADD, IAND, IDIV, IMUL, INEG, IOR, IREM, ISHL, ISHR, ISUB, IUSHR, IXOR, LADD, LAND, LDIV, LMUL, LNEG, LOR, LREM, LSHL, LSHR, LSUB, LUSHR, LXOR
public abstract class ArithmeticInstruction
extends Instruction
implements TypedInstruction, StackProducer, StackConsumer
Superclass for the family of arithmetic instructions.
-
Field Summary
Fields inherited from class Instruction
length, opcode -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedArithmeticInstruction(short opcode) Constructs an ArithmeticInstruction. -
Method Summary
Modifier and TypeMethodDescriptionGets the type associated with the instruction.Methods inherited from class Instruction
accept, consumeStack, copy, dump, equals, getComparator, getLength, getName, getOpcode, hashCode, initFromFile, isValidByte, isValidShort, produceStack, readInstruction, setComparator, toString, toString, toStringModifier and TypeMethodDescriptionabstract voidCall corresponding visitor method(s).intThis method also gives right results for instructions whose effect on the stack depends on the constant pool entry they reference.copy()Use with caution, since 'BranchInstruction's have a 'target' reference which is not copied correctly (only basic types are).voiddump(DataOutputStream out) Dumps instruction as byte code to stream out.booleanTests for equality, delegated to comparatorstatic InstructionComparatorDeprecated.(6.0) use the built in comparator, or wrap this class in another object that implements these methodsintGets the length (in bytes) of instruction.getName()Gets the name of instruction, that is, opcode name.shortGets this instruction's opcode.inthashCode()Gets the hashCode of this object.protected voidinitFromFile(ByteSequence bytes, boolean wide) Reads needed data (for example index) from file.static booleanisValidByte(int value) Tests if the value can fit in a byte (signed).static booleanisValidShort(int value) Tests if the value can fit in a short (signed).intThis method also gives right results for instructions whose effect on the stack depends on the constant pool entry they reference.static InstructionreadInstruction(ByteSequence bytes) Reads an instruction from (byte code) input stream and return the appropriate object.static voidDeprecated.(6.0) use the built in comparator, or wrap this class in another object that implements these methodstoString()toString(boolean verbose) Long output format: <name of opcode> "["<opcode number>"]" "("<length of instruction>")"toString(ConstantPool cp) Gets the mnemonic for instruction with symbolic references resolved.Methods inherited from interface StackConsumer
consumeStackModifier and TypeMethodDescriptionintGets how many words are consumed from stack.Methods inherited from interface StackProducer
produceStackModifier and TypeMethodDescriptionintGets how many words are produced on stack.
-
Constructor Details
-
ArithmeticInstruction
Constructs an ArithmeticInstruction.- Parameters:
opcode- of instruction.
-
-
Method Details
-
getType
Gets the type associated with the instruction.- Specified by:
getTypein interfaceTypedInstruction- Parameters:
cp- The constant pool generator.- Returns:
- type associated with the instruction.
-