package instructions
- Alphabetic
- By Inheritance
- instructions
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- case class ALOAD(lvIndex: Int) extends LoadLocalVariableInstruction with ALoadInstruction with ExplicitLocalVariableIndex with Product with Serializable
Load reference from local variable.
- trait ALoadInstruction extends LoadLocalVariableInstruction
Load reference from local variable.
- case class ANEWARRAY(componentType: ReferenceType) extends CreateNewOneDimensionalArrayInstruction with Product with Serializable
Create new array of reference.
- case class ASTORE(lvIndex: Int) extends StoreLocalVariableInstruction with AStoreInstruction with ExplicitLocalVariableIndex with Product with Serializable
Store reference into local variable.
- trait AStoreInstruction extends StoreLocalVariableInstruction
An instruction that stores the top-most stack value with computational type reference value OR return address in a local variable.
- abstract class AddInstruction extends StackBasedArithmeticInstruction with AlwaysSucceedingStackBasedBinaryArithmeticInstruction
An instruction that adds two primitive values.
- trait AlwaysSucceedingStackBasedBinaryArithmeticInstruction extends StackBasedArithmeticInstruction with StackBasedBinaryArithmeticInstruction
- trait ArithmeticInstruction extends Instruction with NoLabels
An arithmetic instruction as defined by the JVM specification.
- abstract class ArrayAccessInstruction extends ConstantLengthInstruction with NoLabels
An instruction that loads or stores a value in an array.
- abstract class ArrayLoadInstruction extends ArrayAccessInstruction
An instruction that loads a value stored in an array.
- abstract class ArrayStoreInstruction extends ArrayAccessInstruction
An instruction that stores a value in an array.
- class BIPUSH extends LoadConstantInstruction[Int]
Push byte.
Push byte.
- Note
BIPUSH instructions are inherently cached; two BIPUSH instructions that push the same value are always reference identical.
- abstract class BitwiseInstruction extends StackBasedArithmeticInstruction with AlwaysSucceedingStackBasedBinaryArithmeticInstruction with InstructionMetaInformation
An instruction that performs a manipulation of a value's bits.
- case class BranchoffsetOutOfBoundsException(labeledInstruction: LabeledInstruction) extends RuntimeException with Product with Serializable
- case class CHECKCAST(referenceType: ReferenceType) extends Instruction with ConstantLengthInstruction with NoLabels with Product with Serializable
Check whether object is of given type.
- abstract class ComparisonInstruction extends StackBasedArithmeticInstruction with AlwaysSucceedingStackBasedBinaryArithmeticInstruction
An instruction that compares two primitive values.
- trait CompoundConditionalBranchInstruction extends ConditionalBranchInstruction with CompoundConditionalBranchInstructionLike
- trait CompoundConditionalBranchInstructionLike extends ConditionalBranchInstructionLike
Common super class of all compound conditional branch instructions (switch instructions!).
- trait ConditionalBranchInstruction extends ControlTransferInstruction with ConditionalBranchInstructionLike
- trait ConditionalBranchInstructionLike extends ControlTransferInstructionLike
Common super class of all conditional branch instructions.
- trait ConstantALoadInstruction extends LoadLocalVariableInstruction with ALoadInstruction with ImplicitLocalVariableIndex with InstructionMetaInformation
- trait ConstantIndexAStoreInstruction extends StoreLocalVariableInstruction with AStoreInstruction with ImplicitLocalVariableIndex with InstructionMetaInformation
- trait ConstantIndexDLoadInstruction extends LoadLocalVariableInstruction with DLoadInstruction with ImplicitLocalVariableIndex with InstructionMetaInformation
- trait ConstantIndexDStoreInstruction extends StoreLocalVariableInstruction with DStoreInstruction with ImplicitLocalVariableIndex with InstructionMetaInformation
- trait ConstantIndexFLoadInstruction extends LoadLocalVariableInstruction with FLoadInstruction with ImplicitLocalVariableIndex with InstructionMetaInformation
- trait ConstantIndexFStoreInstruction extends StoreLocalVariableInstruction with FStoreInstruction with ImplicitLocalVariableIndex with InstructionMetaInformation
- trait ConstantIndexILoadInstruction extends LoadLocalVariableInstruction with ILoadInstruction with ImplicitLocalVariableIndex with InstructionMetaInformation
- trait ConstantIndexIStoreInstruction extends StoreLocalVariableInstruction with IStoreInstruction with ImplicitLocalVariableIndex with InstructionMetaInformation
- trait ConstantIndexLLoadInstruction extends LoadLocalVariableInstruction with LLoadInstruction with ImplicitLocalVariableIndex with InstructionMetaInformation
- trait ConstantIndexLStoreInstruction extends StoreLocalVariableInstruction with LStoreInstruction with ImplicitLocalVariableIndex with InstructionMetaInformation
- trait ConstantLengthInstruction extends ConstantLengthInstructionLike with Instruction
- trait ConstantLengthInstructionLike extends InstructionLike
Common interface of all instructions that have a fixed length (including operands!).
Common interface of all instructions that have a fixed length (including operands!).
Hence, instructions that may be modified by wide or where the length depends on the position in the code array are never
ConstantLengthInstruction
s. - trait ControlTransferInstruction extends Instruction with ControlTransferInstructionLike
- trait ControlTransferInstructionLike extends InstructionLike
Common superclass of all control transfer instructions.
- abstract class CreateNewArrayInstruction extends Instruction with ConstantLengthInstruction with NoLabels
An instruction to create a new array.
- abstract class CreateNewOneDimensionalArrayInstruction extends CreateNewArrayInstruction
An instruction to create a new one-dimensional array.
- trait DConstInstruction extends LoadConstantInstruction[Double] with ImplicitValue
- case class DEFAULT_INVOKEDYNAMIC(bootstrapMethod: BootstrapMethod, name: String, methodDescriptor: MethodDescriptor) extends InvocationInstruction with INVOKEDYNAMIC with Product with Serializable
Represents an
invokedynamic
instruction where we have no further, immediately usable information regarding the target.Represents an
invokedynamic
instruction where we have no further, immediately usable information regarding the target.- bootstrapMethod
This is the bootstrap method that needs to be executed in order to resolve the instruction's target.
- name
This is the name of the method that this
invokedynamic
instruction intends to invoke.- methodDescriptor
This is the descriptor belonging to the instruction's intended invocation target.
- case class DLOAD(lvIndex: Int) extends LoadLocalVariableInstruction with DLoadInstruction with ExplicitLocalVariableIndex with Product with Serializable
Load double from local variable.
- trait DLoadInstruction extends LoadLocalVariableInstruction
Load double from local variable.
- case class DSTORE(lvIndex: Int) extends StoreLocalVariableInstruction with DStoreInstruction with ExplicitLocalVariableIndex with Product with Serializable
Store double into local variable.
- trait DStoreInstruction extends StoreLocalVariableInstruction
Store long into local variable.
- abstract class DivideInstruction extends StackBasedArithmeticInstruction with StackBasedBinaryArithmeticInstruction
An instruction that divides two primitive values.
- trait ExplicitLocalVariableIndex extends Instruction
Trait that can be mixed in if the local variable index of a load or store instruction ((a,i,l,...)load/store_X) is not predefined as part of the instruction.
- sealed abstract class ExpressionResultLocation extends AnyRef
Characterizes the result of evaluating an expression with respect to the place where the result is stored.
- trait FConstInstruction extends LoadConstantInstruction[Float] with ImplicitValue
- case class FLOAD(lvIndex: Int) extends LoadLocalVariableInstruction with FLoadInstruction with ExplicitLocalVariableIndex with Product with Serializable
Load float from local variable.
- trait FLoadInstruction extends LoadLocalVariableInstruction
Load float from local variable.
- case class FSTORE(lvIndex: Int) extends StoreLocalVariableInstruction with FStoreInstruction with ExplicitLocalVariableIndex with Product with Serializable
Store float into local variable.
- trait FStoreInstruction extends StoreLocalVariableInstruction
Store float into local variable.
- abstract class FieldAccess extends Instruction with ConstantLengthInstruction with NoLabels
Instructions that access a class' field.
- abstract class FieldReadAccess extends FieldAccess
Common superclass of all field read instructions.
- abstract class FieldWriteAccess extends FieldAccess
Common superclass of all FieldWriteAccess instructions.
- abstract class FloatingPointDivideInstruction extends DivideInstruction
An instruction that divides two primitive floating point values.
- abstract class FloatingPointRemainderInstruction extends RemainderInstruction
An instruction that calculates the remainder of two primitive floating point values.
- case class GETFIELD(declaringClass: ObjectType, name: String, fieldType: FieldType) extends FieldReadAccess with Product with Serializable
Fetch field from object.
Fetch field from object.
NOTE
Getting an Array's length is translated to the special
arraylength
instruction. E.g., in the following case:Object[] os = ...; os.length
os.length
is determined using the specialarraylength
instruction.- See also
org.opalj.br.instructions.FieldAccess for additional pattern matching support.
- case class GETSTATIC(declaringClass: ObjectType, name: String, fieldType: FieldType) extends FieldReadAccess with Product with Serializable
Getstatic field from class.
Getstatic field from class.
- See also
org.opalj.br.instructions.FieldAccess for additional pattern matching support.
- case class GOTO(branchoffset: Int) extends GotoInstruction with GOTOLike with Product with Serializable
- trait GOTOLike extends GotoInstructionLike
Branch always.
- case class GOTO_W(branchoffset: Int) extends GotoInstruction with GOTO_WLike with Product with Serializable
- trait GOTO_WLike extends GotoInstructionLike
Branch always.
- trait GotoInstruction extends UnconditionalBranchInstruction with GotoInstructionLike
- trait GotoInstructionLike extends UnconditionalBranchInstructionLike
Super class of the Goto instructions.
- trait IConstInstruction extends LoadConstantInstruction[Int] with ImplicitValue
- trait IF0Instruction[T <: IF0Instruction[T]] extends SimpleConditionalBranchInstruction[T] with IF0InstructionLike
- trait IF0InstructionLike extends SimpleConditionalBranchInstructionLike
Common superclass of all instructions that perform a comparison of an integer value against the constant value
0
. - trait IFACMPInstruction[T <: IFACMPInstruction[T]] extends SimpleConditionalBranchInstruction[T] with IFACMPInstructionLike
- trait IFACMPInstructionLike extends SimpleConditionalBranchInstructionLike
Common superclass of all instructions that perform a conditional jump based on the comparison of reference values.
- case class IFEQ(branchoffset: Int) extends IF0Instruction[IFEQ] with IFEQLike with Product with Serializable
- trait IFEQLike extends IF0InstructionLike
Branch if int comparison with zero succeeds; succeeds if and only if value = 0.
- case class IFGE(branchoffset: Int) extends IF0Instruction[IFGE] with IFGELike with Product with Serializable
- trait IFGELike extends IF0InstructionLike
Branch if int comparison with zero succeeds; succeeds if and only if value ≥ 0.
- case class IFGT(branchoffset: Int) extends IF0Instruction[IFGT] with IFGTLike with Product with Serializable
- trait IFGTLike extends IF0InstructionLike
Branch if int comparison with zero succeeds; succeeds if and only if value > 0.
- trait IFICMPInstruction[T <: IFICMPInstruction[T]] extends SimpleConditionalBranchInstruction[T] with IFICMPInstructionLike
- trait IFICMPInstructionLike extends SimpleConditionalBranchInstructionLike
Common superclass of all instructions that perform a conditional jump based on the comparison of two integer values.
- case class IFLE(branchoffset: Int) extends IF0Instruction[IFLE] with IFLELike with Product with Serializable
- trait IFLELike extends IF0InstructionLike
Branch if int comparison with zero succeeds; succeeds if and only if value ≤ 0.
- case class IFLT(branchoffset: Int) extends IF0Instruction[IFLT] with IFLTLike with Product with Serializable
- trait IFLTLike extends IF0InstructionLike
Branch if int comparison with zero succeeds; succeeds if and only if value < 0.
- case class IFNE(branchoffset: Int) extends IF0Instruction[IFNE] with IFNELike with Product with Serializable
- trait IFNELike extends IF0InstructionLike
Branch if int comparison with zero succeeds; succeeds if and only if value ≠ 0.
- case class IFNONNULL(branchoffset: Int) extends IFXNullInstruction[IFNONNULL] with IFNONNULLLike with Product with Serializable
- trait IFNONNULLLike extends IFXNullInstructionLike
Branch if reference is not null.
- case class IFNULL(branchoffset: Int) extends IFXNullInstruction[IFNULL] with IFNULLLike with Product with Serializable
- trait IFNULLLike extends IFXNullInstructionLike
Branch if reference is null.
- trait IFXNullInstruction[T <: IFXNullInstruction[T]] extends SimpleConditionalBranchInstruction[T] with IFXNullInstructionLike
- trait IFXNullInstructionLike extends SimpleConditionalBranchInstructionLike
Common superclass of all instructions that perform a conditional jump based on an explicit comparison with
null
. - case class IF_ACMPEQ(branchoffset: Int) extends IFACMPInstruction[IF_ACMPEQ] with IF_ACMPEQLike with Product with Serializable
- trait IF_ACMPEQLike extends IFACMPInstructionLike
Branch if reference comparison succeeds; succeeds if and only if value1 == value2.
- case class IF_ACMPNE(branchoffset: Int) extends IFACMPInstruction[IF_ACMPNE] with IF_ACMPNELike with Product with Serializable
- trait IF_ACMPNELike extends IFACMPInstructionLike
Branch if reference comparison succeeds; succeeds if and only if value1 ≠ value2.
- case class IF_ICMPEQ(branchoffset: Int) extends IFICMPInstruction[IF_ICMPEQ] with IF_ICMPEQLike with Product with Serializable
- trait IF_ICMPEQLike extends IFICMPInstructionLike
Branch if int comparison succeeds; succeeds if and only if value1 = value2.
- case class IF_ICMPGE(branchoffset: Int) extends IFICMPInstruction[IF_ICMPGE] with IF_ICMPGELike with Product with Serializable
- trait IF_ICMPGELike extends IFICMPInstructionLike
Branch if int comparison succeeds; succeeds if and only if value1 ≥ value2.
- case class IF_ICMPGT(branchoffset: Int) extends IFICMPInstruction[IF_ICMPGT] with IF_ICMPGTLike with Product with Serializable
- trait IF_ICMPGTLike extends IFICMPInstructionLike
Branch if int comparison succeeds; succeeds if and only if value1 > value2.
- case class IF_ICMPLE(branchoffset: Int) extends IFICMPInstruction[IF_ICMPLE] with IF_ICMPLELike with Product with Serializable
- trait IF_ICMPLELike extends IFICMPInstructionLike
Branch if int comparison succeeds; succeeds if and only if value1 ≤ value2.
- case class IF_ICMPLT(branchoffset: Int) extends IFICMPInstruction[IF_ICMPLT] with IF_ICMPLTLike with Product with Serializable
- trait IF_ICMPLTLike extends IFICMPInstructionLike
Branch if int comparison succeeds; succeeds if and only if value1 < value2.
- case class IF_ICMPNE(branchoffset: Int) extends IFICMPInstruction[IF_ICMPNE] with IF_ICMPNELike with Product with Serializable
- trait IF_ICMPNELike extends IFICMPInstructionLike
Branch if int comparison succeeds; succeeds if and only if value1 ≠ value2.
- case class IINC(lvIndex: Int, constValue: Int) extends ArithmeticInstruction with Product with Serializable
Increment local variable by constant.
- case class ILOAD(lvIndex: Int) extends LoadLocalVariableInstruction with ILoadInstruction with ExplicitLocalVariableIndex with Product with Serializable
Load int from local variable.
- trait ILoadInstruction extends LoadLocalVariableInstruction
Load int from local variable.
- case class INSTANCEOF(referenceType: ReferenceType) extends ConstantLengthInstruction with NoLabels with Product with Serializable
Determine if object is of given type.
- trait INVOKEDYNAMIC extends InvocationInstruction
Represents an
invokedynamic
instruction. - case class INVOKEINTERFACE(declaringClass: ObjectType, name: String, methodDescriptor: MethodDescriptor) extends VirtualMethodInvocationInstruction with Product with Serializable
Invoke interface method.
- case class INVOKESPECIAL(declaringClass: ObjectType, isInterface: Boolean, name: String, methodDescriptor: MethodDescriptor) extends NonVirtualMethodInvocationInstruction with Product with Serializable
Invoke instance method; special handling for superclass, private, and instance initialization method invocations.
- case class INVOKESTATIC(declaringClass: ObjectType, isInterface: Boolean, name: String, methodDescriptor: MethodDescriptor) extends NonVirtualMethodInvocationInstruction with Product with Serializable
Invoke a class (static) method.
- case class INVOKEVIRTUAL(declaringClass: ReferenceType, name: String, methodDescriptor: MethodDescriptor) extends VirtualMethodInvocationInstruction with Product with Serializable
Invoke instance method; dispatch based on class.
- case class ISTORE(lvIndex: Int) extends StoreLocalVariableInstruction with IStoreInstruction with ExplicitLocalVariableIndex with Product with Serializable
Store int into local variable.
- trait IStoreInstruction extends StoreLocalVariableInstruction
- trait ImplicitLocalVariableIndex extends ConstantLengthInstruction
Trait that is mixed in if the local variable index of a load or store instruction ((a,i,l,...)load/store_X) is predefined.
- trait ImplicitValue extends ConstantLengthInstruction with InstructionMetaInformation
Trait that can be mixed in if the value of a instruction is implicitly defined.
- trait Instruction extends InstructionLike
Common superclass of all instructions which are in their final form.
- sealed trait InstructionLabel extends AnyRef
A label that identifies an instruction.
A label that identifies an instruction.
InstructionLabels have to support structural equality (They are used as keys in maps).
- trait InstructionLike extends AnyRef
Common superclass of all instructions.
Common superclass of all instructions.
In general, we distinguish between a finally assembled Instruction where all jump targets are resolved to concrete branchoffsets and LabeledInstructions where the jump target(s) are identified using symbols which need to replaced by concrete branchoffsets before a class file object can be generated.
- trait InstructionMetaInformation extends AnyRef
- abstract class IntegerDivideInstruction extends DivideInstruction
An instruction that divides two primitive integer values (long or in).
- abstract class IntegerRemainderInstruction extends RemainderInstruction
An instruction that the remainder of an integer values (long or in).
- abstract class InvocationInstruction extends Instruction with ConstantLengthInstruction with NoLabels
An instruction that "invokes" something.
An instruction that "invokes" something. This can, e.g., be the invocation of a method or – using INCOMPLETE_INVOKEDYNAMIC – the read of a field value.
- case class JSR(branchoffset: Int) extends JSRInstruction with JSRLike with Product with Serializable
- trait JSRInstruction extends UnconditionalBranchInstruction with JSRInstructionLike
- trait JSRInstructionLike extends UnconditionalBranchInstructionLike
Jump subroutine.
- trait JSRLike extends JSRInstructionLike
Jump subroutine.
- case class JSR_W(branchoffset: Int) extends JSRInstruction with JSR_WLike with Product with Serializable
- trait JSR_WLike extends JSRInstructionLike
Jump subroutine.
- trait LConstInstruction extends LoadConstantInstruction[Long] with ImplicitValue
- sealed trait LDC[T] extends LoadConstantInstruction[T] with InstructionMetaInformation
Push item from runtime constant pool.
- sealed abstract class LDC2_W[T] extends LoadConstantInstruction[T] with InstructionMetaInformation
Push long or double from runtime constant pool.
- sealed abstract class LDC_W[T] extends LoadConstantInstruction[T] with InstructionMetaInformation
Push item from runtime constant pool.
- case class LLOAD(lvIndex: Int) extends LoadLocalVariableInstruction with LLoadInstruction with ExplicitLocalVariableIndex with Product with Serializable
Load long from local variable.
- trait LLoadInstruction extends LoadLocalVariableInstruction
Load long from local variable.
- case class LOOKUPSWITCH(defaultOffset: Int, npairs: ArraySeq[IntIntPair]) extends CompoundConditionalBranchInstruction with LOOKUPSWITCHLike with Product with Serializable
Access jump table by key match and jump.
Access jump table by key match and jump.
- npairs
A list of tuples where the first value is the match/case value and the second value is the jump offset.
- trait LOOKUPSWITCHLike extends CompoundConditionalBranchInstructionLike
Access jump table by key match and jump.
- case class LSTORE(lvIndex: Int) extends StoreLocalVariableInstruction with LStoreInstruction with ExplicitLocalVariableIndex with Product with Serializable
Store long into local variable.
- trait LStoreInstruction extends StoreLocalVariableInstruction
Store long into local variable.
- case class LabeledGOTO(branchTarget: InstructionLabel) extends LabeledUnconditionalBranchInstruction with GOTOLike with Product with Serializable
- case class LabeledGOTO_W(branchTarget: InstructionLabel) extends LabeledUnconditionalBranchInstruction with GOTO_WLike with Product with Serializable
- case class LabeledIFEQ(branchTarget: InstructionLabel) extends LabeledSimpleConditionalBranchInstruction with IFEQLike with Product with Serializable
- case class LabeledIFGE(branchTarget: InstructionLabel) extends LabeledSimpleConditionalBranchInstruction with IFGELike with Product with Serializable
- case class LabeledIFGT(branchTarget: InstructionLabel) extends LabeledSimpleConditionalBranchInstruction with IFGTLike with Product with Serializable
- case class LabeledIFLE(branchTarget: InstructionLabel) extends LabeledSimpleConditionalBranchInstruction with IFLELike with Product with Serializable
- case class LabeledIFLT(branchTarget: InstructionLabel) extends LabeledSimpleConditionalBranchInstruction with IFLTLike with Product with Serializable
- case class LabeledIFNE(branchTarget: InstructionLabel) extends LabeledSimpleConditionalBranchInstruction with IFNELike with Product with Serializable
- case class LabeledIFNONNULL(branchTarget: InstructionLabel) extends LabeledSimpleConditionalBranchInstruction with IFNONNULLLike with Product with Serializable
- case class LabeledIFNULL(branchTarget: InstructionLabel) extends LabeledSimpleConditionalBranchInstruction with IFNULLLike with Product with Serializable
- case class LabeledIF_ACMPEQ(branchTarget: InstructionLabel) extends LabeledSimpleConditionalBranchInstruction with IF_ACMPEQLike with Product with Serializable
- case class LabeledIF_ACMPNE(branchTarget: InstructionLabel) extends LabeledSimpleConditionalBranchInstruction with IF_ACMPNELike with Product with Serializable
- case class LabeledIF_ICMPEQ(branchTarget: InstructionLabel) extends LabeledSimpleConditionalBranchInstruction with IF_ICMPEQLike with Product with Serializable
- case class LabeledIF_ICMPGE(branchTarget: InstructionLabel) extends LabeledSimpleConditionalBranchInstruction with IF_ICMPGELike with Product with Serializable
- case class LabeledIF_ICMPGT(branchTarget: InstructionLabel) extends LabeledSimpleConditionalBranchInstruction with IF_ICMPGTLike with Product with Serializable
- case class LabeledIF_ICMPLE(branchTarget: InstructionLabel) extends LabeledSimpleConditionalBranchInstruction with IF_ICMPLELike with Product with Serializable
- case class LabeledIF_ICMPLT(branchTarget: InstructionLabel) extends LabeledSimpleConditionalBranchInstruction with IF_ICMPLTLike with Product with Serializable
- case class LabeledIF_ICMPNE(branchTarget: InstructionLabel) extends LabeledSimpleConditionalBranchInstruction with IF_ICMPNELike with Product with Serializable
- trait LabeledInstruction extends InstructionLike
An instruction where the jump targets are identified using
Symbols
associated with the instructions which should be executed in case of a jump.An instruction where the jump targets are identified using
Symbols
associated with the instructions which should be executed in case of a jump. The labels areInstructionLabel
s; however, the eDSL provides implicits to faciliate the usage of standard scala Symbols as labels. - case class LabeledJSR(branchTarget: InstructionLabel) extends LabeledUnconditionalBranchInstruction with JSRLike with Product with Serializable
- case class LabeledJSR_W(branchTarget: InstructionLabel) extends LabeledUnconditionalBranchInstruction with JSR_WLike with Product with Serializable
- case class LabeledLOOKUPSWITCH(defaultBranchTarget: InstructionLabel, npairs: ArraySeq[(Int, InstructionLabel)]) extends LabeledInstruction with LOOKUPSWITCHLike with Product with Serializable
Represents a LOOKUPSWITCH instruction with unresolved jump targets represented as
Symbols
. - trait LabeledSimpleConditionalBranchInstruction extends LabeledInstruction with SimpleConditionalBranchInstructionLike
An conditional branch instruction where the jump target is identified using a
Symbol
. - trait LabeledSingleJumpTargetInstruction extends LabeledInstruction
An instruction where the jump target is identified using a
Symbol
associated with the instruction which should be executed in case of a jump.An instruction where the jump target is identified using a
Symbol
associated with the instruction which should be executed in case of a jump. The label is a standard ScalaSymbol
. - case class LabeledTABLESWITCH(defaultBranchTarget: InstructionLabel, low: Int, high: Int, jumpTargets: ArraySeq[InstructionLabel]) extends LabeledInstruction with TABLESWITCHLike with Product with Serializable
Represents a TABLESWITCH instruction with unresolved jump targets represented as
Symbols
. - trait LabeledUnconditionalBranchInstruction extends LabeledSingleJumpTargetInstruction with UnconditionalBranchInstructionLike
Super class of all labeled bytecode instructions that always jump to a specific target instruction.
- final case class LoadClass(value: ReferenceType) extends LoadConstantInstruction[ReferenceType] with LDC[ReferenceType] with Product with Serializable
- Note
To match LoadClass and LoadClass_W instructions you can use LDCClass.
- final case class LoadClass_W(value: ReferenceType) extends LDC_W[ReferenceType] with Product with Serializable
- abstract class LoadConstantInstruction[T] extends Instruction with ConstantLengthInstruction with NoLabels
Puts a constant value on the stack.
- final case class LoadDouble(value: Double) extends LDC2_W[Double] with Product with Serializable
- final case class LoadDynamic(bootstrapMethod: BootstrapMethod, name: String, descriptor: FieldType) extends LoadConstantInstruction[Nothing] with LDC[Nothing] with Product with Serializable
- Note
To match LoadDynamic, LoadDynamic_W and LoadDynamic2_W instructions you can use LDCDynamic.
- final case class LoadDynamic2_W(bootstrapMethod: BootstrapMethod, name: String, descriptor: FieldType) extends LDC2_W[Nothing] with Product with Serializable
- Note
To match LoadDynamic, LoadDynamic_W and LoadDynamic2_W instructions you can use LDCDynamic.
- final case class LoadDynamic_W(bootstrapMethod: BootstrapMethod, name: String, descriptor: FieldType) extends LDC_W[Nothing] with Product with Serializable
- Note
To match LoadDynamic, LoadDynamic_W and LoadDynamic2_W instructions you can use LDCDynamic.
- final case class LoadFloat(value: Float) extends PrimitiveLDC[Float] with Product with Serializable
- Note
To match LoadFloat and LoadFloat_W instructions you can use LDCFloat.
- final case class LoadFloat_W(value: Float) extends PrimitiveLDC_W[Float] with Product with Serializable
- final case class LoadInt(value: Int) extends PrimitiveLDC[Int] with Product with Serializable
- final case class LoadInt_W(value: Int) extends PrimitiveLDC_W[Int] with Product with Serializable
- abstract class LoadLocalVariableInstruction extends Instruction with NoLabels
An instruction that loads a local variable and puts it on top of the stack.
- final case class LoadLong(value: Long) extends LDC2_W[Long] with Product with Serializable
- final case class LoadMethodHandle(value: MethodHandle) extends LoadConstantInstruction[MethodHandle] with LDC[MethodHandle] with Product with Serializable
- Note
To match LoadMethodHandle and LoadMethodHandle_W instructions you can use LDCMethodHandle.
- final case class LoadMethodHandle_W(value: MethodHandle) extends LDC_W[MethodHandle] with Product with Serializable
- final case class LoadMethodType(value: MethodDescriptor) extends LoadConstantInstruction[MethodDescriptor] with LDC[MethodDescriptor] with Product with Serializable
- Note
To match LoadMethodType and LoadMethodType_W instructions you can use LDCMethodType.
- final case class LoadMethodType_W(value: MethodDescriptor) extends LDC_W[MethodDescriptor] with Product with Serializable
- final case class LoadString(value: String) extends PrimitiveLDC[String] with Product with Serializable
- Note
To match LoadString and LoadString_W instructions you can use LDCString.
- final case class LoadString_W(value: String) extends PrimitiveLDC_W[String] with Product with Serializable
- Note
To match LoadString and LoadString_W instructions you can use LDCString.
- case class MULTIANEWARRAY(arrayType: ArrayType, dimensions: Int) extends CreateNewArrayInstruction with InstructionMetaInformation with Product with Serializable
Create new multidimensional array.
Create new multidimensional array.
- arrayType
The type of the array to be created.
- dimensions
The number of dimensions of the specified array that should be initialized.
- abstract class MethodInvocationInstruction extends InvocationInstruction
An instruction that invokes another method (does not consider invokedynamic instructions).
- abstract class MultiplyInstruction extends StackBasedArithmeticInstruction with AlwaysSucceedingStackBasedBinaryArithmeticInstruction
An instruction that multiplies two primitive values.
- case class NEW(objectType: ObjectType) extends ConstantLengthInstruction with NoLabels with Product with Serializable
Create new object.
- sealed abstract class NEWARRAY extends CreateNewOneDimensionalArrayInstruction
Create new array handler.
- case class NamedLabel(name: String) extends InstructionLabel with Product with Serializable
- abstract class NegateInstruction extends StackBasedArithmeticInstruction with UnaryArithmeticInstruction
An instruction that negates a primitive value.
- abstract class NonVirtualMethodInvocationInstruction extends MethodInvocationInstruction with InstructionMetaInformation
Invocation of a method where the target method is statically resolved.
- abstract class NumericConversionInstruction extends ConstantLengthInstruction with InstructionMetaInformation with NoLabels
An instruction that converts between a numeric value of primitive type A and primitive type B.
- case class PCLabel(pc: Int) extends InstructionLabel with Product with Serializable
A
Label
used to specify the "original" pc of an instruction.A
Label
used to specify the "original" pc of an instruction.PCLabel
s are assigned to all (labeled) instructions when we create the labeled code based on a method's bytecode. (I.e., when we instrument existing code.) - case class PUTFIELD(declaringClass: ObjectType, name: String, fieldType: FieldType) extends FieldWriteAccess with Product with Serializable
Set field in object.
Set field in object.
- See also
org.opalj.br.instructions.FieldAccess for additional pattern matching support.
- case class PUTSTATIC(declaringClass: ObjectType, name: String, fieldType: FieldType) extends FieldWriteAccess with Product with Serializable
Set static field in class.
Set static field in class.
- See also
org.opalj.br.instructions.FieldAccess for additional pattern matching support.
- trait PopInstruction extends StackManagementInstruction with InstructionMetaInformation
Pops the (two) top operand stack value(s).
- trait PrimitiveArrayAccess extends InstructionMetaInformation
Trait that is mixed in by all primitive array access instructions.
- abstract class PrimitiveArrayStoreInstruction extends ArrayStoreInstruction with InstructionMetaInformation
An instruction that stores a primitive value in an array of primitive values.
- sealed abstract class PrimitiveLDC[T] extends LoadConstantInstruction[T] with LDC[T]
A load constant instruction which never fails.
- sealed abstract class PrimitiveLDC_W[T] extends LDC_W[T]
A load constant instruction which never fails.
- case class RET(lvIndex: Int) extends ControlTransferInstruction with ConstantLengthInstruction with NoLabels with Product with Serializable
Return from subroutine.
Return from subroutine.
- Note
A RET instruction always returns to an instruction immediately following a JSR(_W) instruction.
- case class Register(index: Int) extends ExpressionResultLocation with Product with Serializable
- abstract class RemainderInstruction extends StackBasedArithmeticInstruction with StackBasedBinaryArithmeticInstruction
An instruction that calculates the remainder of a value.
- abstract class ReturnInstruction extends Instruction with InstructionMetaInformation with ConstantLengthInstruction with NoLabels
An instruction that returns from a method.
- abstract class ReturnValueInstruction extends ReturnInstruction
An instruction that returns a value calculated by the method.
- case class RewriteLabel extends InstructionLabel with Product with Serializable
- case class SIPUSH(value: Int) extends LoadConstantInstruction[Int] with Product with Serializable
Push short.
- abstract class ShiftInstruction extends StackBasedArithmeticInstruction with AlwaysSucceedingStackBasedBinaryArithmeticInstruction
An instruction that adds two primitive values.
- trait SimpleBranchInstruction extends SimpleBranchInstructionLike with ConstantLengthInstruction with ControlTransferInstruction
- trait SimpleBranchInstructionLike extends ControlTransferInstructionLike with ConstantLengthInstructionLike
- trait SimpleConditionalBranchInstruction[T <: SimpleConditionalBranchInstruction[T]] extends ConditionalBranchInstruction with SimpleBranchInstruction with SimpleConditionalBranchInstructionLike
- trait SimpleConditionalBranchInstructionLike extends ConditionalBranchInstructionLike with SimpleBranchInstructionLike
Common superclass of all instructions that perform a conditional jump.
- abstract class StackBasedArithmeticInstruction extends ArithmeticInstruction with ConstantLengthInstruction with InstructionMetaInformation
An arithmetic instruction that takes all its operands from the stack and, hence, the constant length "1"; i.e., only one byte is needed to encode the instruction.
- trait StackBasedBinaryArithmeticInstruction extends StackBasedArithmeticInstruction
Implemented by all arithmetic instructions that have two (runtime-dependent) operands.
Implemented by all arithmetic instructions that have two (runtime-dependent) operands.
- Note
IINC is considered a special binary instruction since it does not operate on operand stack values!
- abstract class StackManagementInstruction extends ConstantLengthInstruction with NoLabels with InstructionMetaInformation
An instruction that directly manipulates the operand stack by popping, swapping or duplicating values.
- abstract class StoreLocalVariableInstruction extends Instruction with NoLabels
An instruction that stores the top-most stack value in a local variable.
- abstract class SubtractInstruction extends StackBasedArithmeticInstruction with AlwaysSucceedingStackBasedBinaryArithmeticInstruction
An instruction that subtracts two primitive values.
- abstract class SynchronizationInstruction extends Instruction with ConstantLengthInstruction with NoLabels
A synchronization related instruction (MonitorEnter|MonitorExit).
- case class TABLESWITCH(defaultOffset: Int, low: Int, high: Int, jumpOffsets: ArraySeq[Int]) extends CompoundConditionalBranchInstruction with TABLESWITCHLike with Product with Serializable
- trait TABLESWITCHLike extends CompoundConditionalBranchInstructionLike
Access jump table by index and jump.
- trait UnaryArithmeticInstruction extends ArithmeticInstruction
Implemented by all arithmetic instructions that have one (runtime-dependent) operand; i.e., the NegateInstructions.
- trait UnconditionalBranchInstruction extends SimpleBranchInstruction with UnconditionalBranchInstructionLike
- trait UnconditionalBranchInstructionLike extends SimpleBranchInstructionLike
Super class of all bytecode instructions that always jump to a specific target instruction.
- abstract class VirtualMethodInvocationInstruction extends MethodInvocationInstruction
Common superclass of all Invoke instructions that require virtual method resolution.
Value Members
- implicit final val TypeConversionInstructions: TypeConversionFactory[Array[Instruction]] { ... /* 41 definitions in type refinement */ }
- case object AALOAD extends ArrayLoadInstruction with InstructionMetaInformation with Product with Serializable
Load reference from array.
- case object AASTORE extends ArrayStoreInstruction with InstructionMetaInformation with Product with Serializable
Store into reference array.
- case object ACONST_NULL extends LoadConstantInstruction[Null] with ImplicitValue with InstructionMetaInformation with Product with Serializable
Push null.
- object ALOAD extends InstructionMetaInformation with Serializable
- case object ALOAD_0 extends LoadLocalVariableInstruction with ConstantALoadInstruction with Product with Serializable
Load reference from local variable with index 0.
- case object ALOAD_1 extends LoadLocalVariableInstruction with ConstantALoadInstruction with Product with Serializable
Load reference from local variable with index 1.
- case object ALOAD_2 extends LoadLocalVariableInstruction with ConstantALoadInstruction with Product with Serializable
Load reference from local variable with index 2.
- case object ALOAD_3 extends LoadLocalVariableInstruction with ConstantALoadInstruction with Product with Serializable
Load reference from local variable with index 3.
- object ALoadInstruction
- object ANEWARRAY extends InstructionMetaInformation with Serializable
General information and factory methods.
- case object ARETURN extends ReturnValueInstruction with Product with Serializable
Return reference from method.
- case object ARRAYLENGTH extends Instruction with ConstantLengthInstruction with NoLabels with Product with Serializable
Get length of array.
- object ASTORE extends InstructionMetaInformation with Serializable
- case object ASTORE_0 extends StoreLocalVariableInstruction with ConstantIndexAStoreInstruction with Product with Serializable
Store reference into local variable with index 0.
- case object ASTORE_1 extends StoreLocalVariableInstruction with ConstantIndexAStoreInstruction with Product with Serializable
Store reference into local variable with index 1.
- case object ASTORE_2 extends StoreLocalVariableInstruction with ConstantIndexAStoreInstruction with Product with Serializable
Store reference into local variable with index 2.
- case object ASTORE_3 extends StoreLocalVariableInstruction with ConstantIndexAStoreInstruction with Product with Serializable
Store reference into local variable with index 3.
- object AStoreInstruction
- case object ATHROW extends Instruction with NoLabels with Product with Serializable
Throw exception or error.
- object ArithmeticInstruction
Defines values and methods common to arithmetic instructions.
- object ArrayLoadInstruction
Defines common properties of instructions that load values stored in arrays.
- case object BALOAD extends ArrayLoadInstruction with PrimitiveArrayAccess with Product with Serializable
Load byte or boolean from array.
- case object BASTORE extends PrimitiveArrayStoreInstruction with PrimitiveArrayAccess with Product with Serializable
Store into byte or boolean array.
- object BIPUSH extends InstructionMetaInformation
- case object CALOAD extends ArrayLoadInstruction with PrimitiveArrayAccess with Product with Serializable
Load char from array.
- case object CASTORE extends PrimitiveArrayStoreInstruction with PrimitiveArrayAccess with Product with Serializable
Store into char array.
- object CHECKCAST extends InstructionMetaInformation with Serializable
General information and factory methods.
- object ClassFileFactory
Provides helper methods to facilitate the generation of classes.
Provides helper methods to facilitate the generation of classes. In particular, functionality to create transparent proxy classes is provided.
- object CreateNewArrayInstruction
- case object D2F extends NumericConversionInstruction with Product with Serializable
Convert double to float.
- case object D2I extends NumericConversionInstruction with Product with Serializable
Convert double to int.
- case object D2L extends NumericConversionInstruction with Product with Serializable
Convert double to long.
- case object DADD extends AddInstruction with Product with Serializable
Add double.
- case object DALOAD extends ArrayLoadInstruction with PrimitiveArrayAccess with Product with Serializable
Load double from array.
- case object DASTORE extends PrimitiveArrayStoreInstruction with PrimitiveArrayAccess with Product with Serializable
Store into double array.
- case object DCMPG extends ComparisonInstruction with Product with Serializable
Compare double.
- case object DCMPL extends ComparisonInstruction with Product with Serializable
Compare double.
- case object DCONST_0 extends LoadConstantInstruction[Double] with DConstInstruction with Product with Serializable
Push the double constant 0.0 onto the operand stack.
- case object DCONST_1 extends LoadConstantInstruction[Double] with DConstInstruction with Product with Serializable
Push the double constant 1.0 onto the operand stack.
- object DConstInstruction
- case object DDIV extends FloatingPointDivideInstruction with Product with Serializable
Divide double.
- object DLOAD extends InstructionMetaInformation with Serializable
- case object DLOAD_0 extends LoadLocalVariableInstruction with ConstantIndexDLoadInstruction with Product with Serializable
Load double from local variable with index 0.
- case object DLOAD_1 extends LoadLocalVariableInstruction with ConstantIndexDLoadInstruction with Product with Serializable
Load double from local variable with index 1.
- case object DLOAD_2 extends LoadLocalVariableInstruction with ConstantIndexDLoadInstruction with Product with Serializable
Load double from local variable with index 2.
- case object DLOAD_3 extends LoadLocalVariableInstruction with ConstantIndexDLoadInstruction with Product with Serializable
Load double from local variable with index 3.
- case object DMUL extends MultiplyInstruction with Product with Serializable
Multiply double.
- case object DNEG extends NegateInstruction with Product with Serializable
Negate double.
- case object DREM extends FloatingPointRemainderInstruction with Product with Serializable
Remainder double.
- case object DRETURN extends ReturnValueInstruction with Product with Serializable
Return double from method.
- object DSTORE extends InstructionMetaInformation with Serializable
- case object DSTORE_0 extends StoreLocalVariableInstruction with ConstantIndexDStoreInstruction with Product with Serializable
Store double into local variable with index 0.
- case object DSTORE_1 extends StoreLocalVariableInstruction with ConstantIndexDStoreInstruction with Product with Serializable
Store double into local variable with index 1.
- case object DSTORE_2 extends StoreLocalVariableInstruction with ConstantIndexDStoreInstruction with Product with Serializable
Store double into local variable with index 2.
- case object DSTORE_3 extends StoreLocalVariableInstruction with ConstantIndexDStoreInstruction with Product with Serializable
Store double into local variable with index 3.
- case object DSUB extends SubtractInstruction with Product with Serializable
Subtract double.
- object DStoreInstruction
- case object DUP extends StackManagementInstruction with Product with Serializable
Duplicate the top operand stack value.
- case object DUP2 extends StackManagementInstruction with Product with Serializable
Duplicate the top one or two operand stack values.
- case object DUP2_X1 extends StackManagementInstruction with Product with Serializable
Duplicate the top one or two operand stack values and insert two or three values down.
- case object DUP2_X2 extends StackManagementInstruction with Product with Serializable
Duplicate the top one or two operand stack values and insert two, three, or four values down.
- case object DUP_X1 extends StackManagementInstruction with Product with Serializable
Duplicate the top operand stack value and insert two values down.
- case object DUP_X2 extends StackManagementInstruction with Product with Serializable
Duplicate the top operand stack value and insert two or three values down.
- object ExplicitLocalVariableIndex
- case object F2D extends NumericConversionInstruction with Product with Serializable
Convert float to double.
- case object F2I extends NumericConversionInstruction with Product with Serializable
Convert float to int.
- case object F2L extends NumericConversionInstruction with Product with Serializable
Convert float to long.
- case object FADD extends AddInstruction with Product with Serializable
Add float.
- case object FALOAD extends ArrayLoadInstruction with PrimitiveArrayAccess with Product with Serializable
Load float from array.
- case object FASTORE extends PrimitiveArrayStoreInstruction with PrimitiveArrayAccess with Product with Serializable
Store into float array.
- case object FCMPG extends ComparisonInstruction with Product with Serializable
Compare float.
- case object FCMPL extends ComparisonInstruction with Product with Serializable
Compare float.
- case object FCONST_0 extends LoadConstantInstruction[Float] with FConstInstruction with Product with Serializable
Push the float constant 0.0 onto the operand stack.
- case object FCONST_1 extends LoadConstantInstruction[Float] with FConstInstruction with Product with Serializable
Push the float constant 1.0 onto the operand stack.
- case object FCONST_2 extends LoadConstantInstruction[Float] with FConstInstruction with Product with Serializable
Push the float constant 2.0 onto the operand stack.
- object FConstInstruction
- case object FDIV extends FloatingPointDivideInstruction with Product with Serializable
Divide float.
- object FLOAD extends InstructionMetaInformation with Serializable
- case object FLOAD_0 extends LoadLocalVariableInstruction with ConstantIndexFLoadInstruction with Product with Serializable
Load float from local variable with index 0.
- case object FLOAD_1 extends LoadLocalVariableInstruction with ConstantIndexFLoadInstruction with Product with Serializable
Load float from local variable with index 1.
- case object FLOAD_2 extends LoadLocalVariableInstruction with ConstantIndexFLoadInstruction with Product with Serializable
Load float from local variable with index 2.
- case object FLOAD_3 extends LoadLocalVariableInstruction with ConstantIndexFLoadInstruction with Product with Serializable
Load float from local variable with index 3.
- case object FMUL extends MultiplyInstruction with Product with Serializable
Multiply float.
- case object FNEG extends NegateInstruction with Product with Serializable
Negate float.
- case object FREM extends FloatingPointRemainderInstruction with Product with Serializable
Remainder float.
- case object FRETURN extends ReturnValueInstruction with Product with Serializable
Return float from method.
- object FSTORE extends InstructionMetaInformation with Serializable
- case object FSTORE_0 extends StoreLocalVariableInstruction with ConstantIndexFStoreInstruction with Product with Serializable
Store float into local variable with index 0.
- case object FSTORE_1 extends StoreLocalVariableInstruction with ConstantIndexFStoreInstruction with Product with Serializable
Store float into local variable with index 1.
- case object FSTORE_2 extends StoreLocalVariableInstruction with ConstantIndexFStoreInstruction with Product with Serializable
Store float into local variable with index 2.
- case object FSTORE_3 extends StoreLocalVariableInstruction with ConstantIndexFStoreInstruction with Product with Serializable
Store float into local variable with index 3.
- case object FSUB extends SubtractInstruction with Product with Serializable
Subtract float.
- object FStoreInstruction
- object FieldAccess
Defines an extractor to facilitate pattern matching on field access instructions.
- object FieldReadAccess
Defines an extractor to facilitate pattern matching on field read access instructions.
- object FieldWriteAccess
Defines an extractor to facilitate pattern matching on field write access instructions.
- object GETFIELD extends InstructionMetaInformation with Serializable
General information and factory methods.
- object GETSTATIC extends InstructionMetaInformation with Serializable
General information and factory methods.
- object GOTO extends InstructionMetaInformation with Serializable
Defines constants and factory methods.
- object GOTO_W extends InstructionMetaInformation with Serializable
Defines constants and factory methods.
- object GotoInstruction
- case object I2B extends NumericConversionInstruction with Product with Serializable
Convert int to byte.
- case object I2C extends NumericConversionInstruction with Product with Serializable
Convert int to char.
- case object I2D extends NumericConversionInstruction with Product with Serializable
Convert int to double.
- case object I2F extends NumericConversionInstruction with Product with Serializable
Convert int to float.
- case object I2L extends NumericConversionInstruction with Product with Serializable
Convert int to long.
- case object I2S extends NumericConversionInstruction with Product with Serializable
Convert int to short.
- case object IADD extends AddInstruction with Product with Serializable
Add int.
- case object IALOAD extends ArrayLoadInstruction with PrimitiveArrayAccess with Product with Serializable
Load int from array.
- case object IAND extends BitwiseInstruction with Product with Serializable
Boolean AND int.
- case object IASTORE extends PrimitiveArrayStoreInstruction with PrimitiveArrayAccess with Product with Serializable
Store into int array.
- case object ICONST_0 extends LoadConstantInstruction[Int] with IConstInstruction with Product with Serializable
Push int constant value 0.
- case object ICONST_1 extends LoadConstantInstruction[Int] with IConstInstruction with Product with Serializable
Push int constant value 1.
- case object ICONST_2 extends LoadConstantInstruction[Int] with IConstInstruction with Product with Serializable
Push int constant value 2.
- case object ICONST_3 extends LoadConstantInstruction[Int] with IConstInstruction with Product with Serializable
Push int constant value 3.
- case object ICONST_4 extends LoadConstantInstruction[Int] with IConstInstruction with Product with Serializable
Push int constant value 4.
- case object ICONST_5 extends LoadConstantInstruction[Int] with IConstInstruction with Product with Serializable
Push int constant value 5.
- case object ICONST_M1 extends LoadConstantInstruction[Int] with IConstInstruction with Product with Serializable
Push int constant.
- object IConstInstruction
- case object IDIV extends IntegerDivideInstruction with Product with Serializable
Divide int.
- object IF0Instruction
- object IFACMPInstruction
- object IFEQ extends InstructionMetaInformation with Serializable
Defines constants and factory methods.
- object IFGE extends InstructionMetaInformation with Serializable
Defines constants and factory methods.
- object IFGT extends InstructionMetaInformation with Serializable
Defines constants and factory methods.
- object IFICMPInstruction
- object IFLE extends InstructionMetaInformation with Serializable
Defines constants and factory methods.
- object IFLT extends InstructionMetaInformation with Serializable
Defines constants and factory methods.
- object IFNE extends InstructionMetaInformation with Serializable
Defines constants and factory methods.
- object IFNONNULL extends InstructionMetaInformation with Serializable
Defines constants and factory methods.
- object IFNULL extends InstructionMetaInformation with Serializable
Defines constants and factory methods.
- object IFXNullInstruction
- object IF_ACMPEQ extends InstructionMetaInformation with Serializable
Defines constants and factory methods.
- object IF_ACMPNE extends InstructionMetaInformation with Serializable
Defines constants and factory methods.
- object IF_ICMPEQ extends InstructionMetaInformation with Serializable
Defines constants and factory methods.
- object IF_ICMPGE extends InstructionMetaInformation with Serializable
- object IF_ICMPGT extends InstructionMetaInformation with Serializable
Defines constants and factory methods.
- object IF_ICMPLE extends InstructionMetaInformation with Serializable
Defines constants and factory methods.
- object IF_ICMPLT extends InstructionMetaInformation with Serializable
Defines constants and factory methods.
- object IF_ICMPNE extends InstructionMetaInformation with Serializable
Defines constants and factory methods.
- object IINC extends InstructionMetaInformation with Serializable
- object ILOAD extends InstructionMetaInformation with Serializable
- case object ILOAD_0 extends LoadLocalVariableInstruction with ConstantIndexILoadInstruction with Product with Serializable
Load int from local variable with index 0.
- case object ILOAD_1 extends LoadLocalVariableInstruction with ConstantIndexILoadInstruction with Product with Serializable
Load int from local variable with index 1.
- case object ILOAD_2 extends LoadLocalVariableInstruction with ConstantIndexILoadInstruction with Product with Serializable
Load int from local variable with index 2.
- case object ILOAD_3 extends LoadLocalVariableInstruction with ConstantIndexILoadInstruction with Product with Serializable
Load int from local variable with index 3.
- case object IMUL extends MultiplyInstruction with Product with Serializable
Multiply int.
- case object INCOMPLETE_INVOKEDYNAMIC extends InvocationInstruction with INVOKEDYNAMIC with Product with Serializable
Represents an "incomplete" invoke dynamic instruction.
Represents an "incomplete" invoke dynamic instruction. Here, incomplete refers to the fact that not all information is yet available because it is not yet loaded. In case of
invokedynamic
instructions it is necessary to read a class file's attributes which are read in at the very end. This requires to resolve INVOKEDYNAMIC instructions in a two step process. - case object INCOMPLETE_LDC extends LoadConstantInstruction[Any] with LDC[Any] with Product with Serializable
- case object INCOMPLETE_LDC2_W extends LDC2_W[Any] with Product with Serializable
- case object INCOMPLETE_LDC_W extends LDC_W[Any] with Product with Serializable
- case object INEG extends NegateInstruction with Product with Serializable
Negate int.
- object INSTANCEOF extends InstructionMetaInformation with Serializable
General information and factory methods.
- object INVOKEDYNAMIC extends InstructionMetaInformation
Common constants and extractor methods related to INVOKEDYNAMIC instructions.
- object INVOKEINTERFACE extends InstructionMetaInformation with Serializable
General information and factory methods.
- object INVOKESPECIAL extends InstructionMetaInformation with Serializable
General information and factory methods.
- object INVOKESTATIC extends InstructionMetaInformation with Serializable
General information and factory methods.
- object INVOKEVIRTUAL extends InstructionMetaInformation with Serializable
General information and factory methods.
- case object IOR extends BitwiseInstruction with Product with Serializable
Boolean OR int.
- case object IREM extends IntegerRemainderInstruction with Product with Serializable
Remainder int.
- case object IRETURN extends ReturnValueInstruction with Product with Serializable
Return int from method.
- case object ISHL extends ShiftInstruction with Product with Serializable
Shift left int.
- case object ISHR extends ShiftInstruction with Product with Serializable
Arithmetic shift right int.
- object ISTORE extends InstructionMetaInformation with Serializable
- case object ISTORE_0 extends StoreLocalVariableInstruction with ConstantIndexIStoreInstruction with Product with Serializable
Store int into local variable with index 0.
- case object ISTORE_1 extends StoreLocalVariableInstruction with ConstantIndexIStoreInstruction with Product with Serializable
Store int into local variable with index 1.
- case object ISTORE_2 extends StoreLocalVariableInstruction with ConstantIndexIStoreInstruction with Product with Serializable
Store int into local variable with index 2.
- case object ISTORE_3 extends StoreLocalVariableInstruction with ConstantIndexIStoreInstruction with Product with Serializable
Store int into local variable with index 3.
- case object ISUB extends SubtractInstruction with Product with Serializable
Subtract int.
- object IStoreInstruction
- case object IUSHR extends ShiftInstruction with Product with Serializable
Logical shift right int.
- case object IXOR extends BitwiseInstruction with Product with Serializable
Boolean XOR int.
- object Instruction
Functionality common to instructions.
- object InstructionLabel
- object JSR extends InstructionMetaInformation with Serializable
Defines constants and factory methods.
- object JSRInstruction
- object JSR_W extends InstructionMetaInformation with Serializable
Defines constants and factory methods.
- case object L2D extends NumericConversionInstruction with Product with Serializable
Convert long to double.
- case object L2F extends NumericConversionInstruction with Product with Serializable
Convert long to float.
- case object L2I extends NumericConversionInstruction with Product with Serializable
Convert long to int.
- case object LADD extends AddInstruction with Product with Serializable
Add long.
- case object LALOAD extends ArrayLoadInstruction with PrimitiveArrayAccess with Product with Serializable
Load long from array.
- case object LAND extends BitwiseInstruction with Product with Serializable
Boolean AND long.
- case object LASTORE extends PrimitiveArrayStoreInstruction with PrimitiveArrayAccess with Product with Serializable
Store into long array.
- case object LCMP extends ComparisonInstruction with Product with Serializable
Compare long.
- case object LCONST_0 extends LoadConstantInstruction[Long] with LConstInstruction with Product with Serializable
Push the long constant 0 onto the operand stack.
- case object LCONST_1 extends LoadConstantInstruction[Long] with LConstInstruction with Product with Serializable
Push the long constant 1 onto the operand stack.
- object LConstInstruction
- object LDC
Defines factory and extractor methods for LDC instructions.
- object LDC2_W
Defines factory and extractor methods for LDC2_W instructions.
- object LDCClass
- object LDCDynamic
- object LDCFloat
- object LDCInt
- object LDCMethodHandle
- object LDCMethodType
- object LDCString
- object LDC_W
Defines factory and extractor methods for LDC_W instructions.
- case object LDIV extends IntegerDivideInstruction with Product with Serializable
Divide long.
- object LLOAD extends InstructionMetaInformation with Serializable
- case object LLOAD_0 extends LoadLocalVariableInstruction with ConstantIndexLLoadInstruction with Product with Serializable
Load long from local variable with index 0.
- case object LLOAD_1 extends LoadLocalVariableInstruction with ConstantIndexLLoadInstruction with Product with Serializable
Load long from local variable with index 1.
- case object LLOAD_2 extends LoadLocalVariableInstruction with ConstantIndexLLoadInstruction with Product with Serializable
Load long from local variable with index 2.
- case object LLOAD_3 extends LoadLocalVariableInstruction with ConstantIndexLLoadInstruction with Product with Serializable
Load long from local variable with index 3.
- object LLoadInstruction
- case object LMUL extends MultiplyInstruction with Product with Serializable
Multiply long.
- case object LNEG extends NegateInstruction with Product with Serializable
Negate long.
- object LOOKUPSWITCH extends InstructionMetaInformation with Serializable
Defines constants and factory methods.
- case object LOR extends BitwiseInstruction with Product with Serializable
Boolean OR long.
- case object LREM extends IntegerRemainderInstruction with Product with Serializable
Remainder long.
- case object LRETURN extends ReturnValueInstruction with Product with Serializable
Return long from method.
- case object LSHL extends ShiftInstruction with Product with Serializable
Shift left long.
- case object LSHR extends ShiftInstruction with Product with Serializable
Arithmetic shift right long.
- object LSTORE extends InstructionMetaInformation with Serializable
- case object LSTORE_0 extends StoreLocalVariableInstruction with ConstantIndexLStoreInstruction with Product with Serializable
Store long into local variable with index 0.
- case object LSTORE_1 extends StoreLocalVariableInstruction with ConstantIndexLStoreInstruction with Product with Serializable
Store long into local variable with index 1.
- case object LSTORE_2 extends StoreLocalVariableInstruction with ConstantIndexLStoreInstruction with Product with Serializable
Store long into local variable with index 2.
- case object LSTORE_3 extends StoreLocalVariableInstruction with ConstantIndexLStoreInstruction with Product with Serializable
Store long into local variable with index 3.
- case object LSUB extends SubtractInstruction with Product with Serializable
Subtract long.
- object LStoreInstruction
- case object LUSHR extends ShiftInstruction with Product with Serializable
Logical shift right long.
- case object LXOR extends BitwiseInstruction with Product with Serializable
Boolean XOR long.
- object LoadConstantInstruction
Defines factory methods for
LoadConstantInstruction
s. - object LoadLocalVariableInstruction
Defines a factory method for
LoadLocalVariableInstruction
s. - object LocalVariableAccess
Defines an extractor to determine the local variable index accessed by the instruction.
- case object MONITORENTER extends SynchronizationInstruction with InstructionMetaInformation with Product with Serializable
Enter monitor for object.
- case object MONITOREXIT extends SynchronizationInstruction with InstructionMetaInformation with Product with Serializable
Exit monitor for object.
- object MULTIANEWARRAY extends Serializable
General information and factory methods.
- object MethodCompletionInstruction
- object MethodInvocationInstruction
Defines commonly used constants and an extractor method to match MethodInvocationInstruction instructions.
- object NEW extends InstructionMetaInformation with Serializable
General information and factory methods.
- object NEWARRAY extends InstructionMetaInformation
- case object NOP extends ConstantLengthInstruction with NoLabels with InstructionMetaInformation with Product with Serializable
Do nothing.
- case object NoExpression extends ExpressionResultLocation with Product with Serializable
- object NoMethodCompletionInstruction
- case object POP extends StackManagementInstruction with PopInstruction with Product with Serializable
Pop the top operand stack value.
- case object POP2 extends StackManagementInstruction with PopInstruction with Product with Serializable
Pops the top computational type category 2 value or the two top operand stack values if both have computational type category 1.
- object PUTFIELD extends InstructionMetaInformation with Serializable
General information and factory methods.
- object PUTSTATIC extends InstructionMetaInformation with Serializable
General information and factory methods.
- object PrimitiveArrayAccess
- object RET extends InstructionMetaInformation with Serializable
- case object RETURN extends ReturnInstruction with Product with Serializable
Return void from method.
- object ReturnInstruction
Defines common values and a factory method to create a
ReturnInstruction
based on the expected type. - object ReturnInstructions
Defines extractor methods related to return instructions.
- object RewriteLabel extends Serializable
- case object SALOAD extends ArrayLoadInstruction with PrimitiveArrayAccess with Product with Serializable
Load short from array.
- case object SASTORE extends PrimitiveArrayStoreInstruction with PrimitiveArrayAccess with Product with Serializable
Store into short array.
- object SIPUSH extends InstructionMetaInformation with Serializable
- case object SWAP extends StackManagementInstruction with Product with Serializable
Swap the top two operand stack values.
- object ShiftInstruction
- object SimpleConditionalBranchInstruction
Extractor for SimpleConditionalBranchInstructions.
- case object Stack extends ExpressionResultLocation with Product with Serializable
- object StackBasedBinaryArithmeticInstruction
- object StoreLocalVariableInstruction
Factory for
StoreLocalVariableInstruction
s. - object SwitchInstruction
Extractor for SwitchInstructions.
- object SynchronizationInstruction
- object TABLESWITCH extends InstructionMetaInformation with Serializable
Defines constants and factory methods.
- object UnaryArithmeticInstruction
- object UnconditionalBranchInstruction
Extractor for UnconditionalBranchInstructions.
- object VirtualMethodInvocationInstruction
- case object WIDE extends Instruction with ConstantLengthInstruction with NoLabels with Product with Serializable
Extend local variable index by additional bytes.