Packages

p

org.opalj.br

instructions

package instructions

Common instruction sequences.

Source
package.scala
Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. instructions
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Type Members

  1. case class ALOAD(lvIndex: Int) extends LoadLocalVariableInstruction with ALoadInstruction with ExplicitLocalVariableIndex with Product with Serializable

    Load reference from local variable.

  2. trait ALoadInstruction extends LoadLocalVariableInstruction

    Load reference from local variable.

  3. case class ANEWARRAY(componentType: ReferenceType) extends CreateNewOneDimensionalArrayInstruction with Product with Serializable

    Create new array of reference.

  4. case class ASTORE(lvIndex: Int) extends StoreLocalVariableInstruction with AStoreInstruction with ExplicitLocalVariableIndex with Product with Serializable

    Store reference into local variable.

  5. 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.

  6. abstract class AddInstruction extends StackBasedArithmeticInstruction with AlwaysSucceedingStackBasedBinaryArithmeticInstruction

    An instruction that adds two primitive values.

  7. trait AlwaysSucceedingStackBasedBinaryArithmeticInstruction extends StackBasedArithmeticInstruction with StackBasedBinaryArithmeticInstruction
  8. trait ArithmeticInstruction extends Instruction with NoLabels

    An arithmetic instruction as defined by the JVM specification.

  9. abstract class ArrayAccessInstruction extends ConstantLengthInstruction with NoLabels

    An instruction that loads or stores a value in an array.

  10. abstract class ArrayLoadInstruction extends ArrayAccessInstruction

    An instruction that loads a value stored in an array.

  11. abstract class ArrayStoreInstruction extends ArrayAccessInstruction

    An instruction that stores a value in an array.

  12. 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.

  13. abstract class BitwiseInstruction extends StackBasedArithmeticInstruction with AlwaysSucceedingStackBasedBinaryArithmeticInstruction with InstructionMetaInformation

    An instruction that performs a manipulation of a value's bits.

  14. case class BranchoffsetOutOfBoundsException(labeledInstruction: LabeledInstruction) extends RuntimeException with Product with Serializable
  15. case class CHECKCAST(referenceType: ReferenceType) extends Instruction with ConstantLengthInstruction with NoLabels with Product with Serializable

    Check whether object is of given type.

  16. abstract class ComparisonInstruction extends StackBasedArithmeticInstruction with AlwaysSucceedingStackBasedBinaryArithmeticInstruction

    An instruction that compares two primitive values.

  17. trait CompoundConditionalBranchInstruction extends ConditionalBranchInstruction with CompoundConditionalBranchInstructionLike
  18. trait CompoundConditionalBranchInstructionLike extends ConditionalBranchInstructionLike

    Common super class of all compound conditional branch instructions (switch instructions!).

  19. trait ConditionalBranchInstruction extends ControlTransferInstruction with ConditionalBranchInstructionLike
  20. trait ConditionalBranchInstructionLike extends ControlTransferInstructionLike

    Common super class of all conditional branch instructions.

  21. trait ConstantALoadInstruction extends LoadLocalVariableInstruction with ALoadInstruction with ImplicitLocalVariableIndex with InstructionMetaInformation
  22. trait ConstantIndexAStoreInstruction extends StoreLocalVariableInstruction with AStoreInstruction with ImplicitLocalVariableIndex with InstructionMetaInformation
  23. trait ConstantIndexDLoadInstruction extends LoadLocalVariableInstruction with DLoadInstruction with ImplicitLocalVariableIndex with InstructionMetaInformation
  24. trait ConstantIndexDStoreInstruction extends StoreLocalVariableInstruction with DStoreInstruction with ImplicitLocalVariableIndex with InstructionMetaInformation
  25. trait ConstantIndexFLoadInstruction extends LoadLocalVariableInstruction with FLoadInstruction with ImplicitLocalVariableIndex with InstructionMetaInformation
  26. trait ConstantIndexFStoreInstruction extends StoreLocalVariableInstruction with FStoreInstruction with ImplicitLocalVariableIndex with InstructionMetaInformation
  27. trait ConstantIndexILoadInstruction extends LoadLocalVariableInstruction with ILoadInstruction with ImplicitLocalVariableIndex with InstructionMetaInformation
  28. trait ConstantIndexIStoreInstruction extends StoreLocalVariableInstruction with IStoreInstruction with ImplicitLocalVariableIndex with InstructionMetaInformation
  29. trait ConstantIndexLLoadInstruction extends LoadLocalVariableInstruction with LLoadInstruction with ImplicitLocalVariableIndex with InstructionMetaInformation
  30. trait ConstantIndexLStoreInstruction extends StoreLocalVariableInstruction with LStoreInstruction with ImplicitLocalVariableIndex with InstructionMetaInformation
  31. trait ConstantLengthInstruction extends ConstantLengthInstructionLike with Instruction
  32. 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 ConstantLengthInstructions.

  33. trait ControlTransferInstruction extends Instruction with ControlTransferInstructionLike
  34. trait ControlTransferInstructionLike extends InstructionLike

    Common superclass of all control transfer instructions.

  35. abstract class CreateNewArrayInstruction extends Instruction with ConstantLengthInstruction with NoLabels

    An instruction to create a new array.

  36. abstract class CreateNewOneDimensionalArrayInstruction extends CreateNewArrayInstruction

    An instruction to create a new one-dimensional array.

  37. trait DConstInstruction extends LoadConstantInstruction[Double] with ImplicitValue

  38. 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.

  39. case class DLOAD(lvIndex: Int) extends LoadLocalVariableInstruction with DLoadInstruction with ExplicitLocalVariableIndex with Product with Serializable

    Load double from local variable.

  40. trait DLoadInstruction extends LoadLocalVariableInstruction

    Load double from local variable.

  41. case class DSTORE(lvIndex: Int) extends StoreLocalVariableInstruction with DStoreInstruction with ExplicitLocalVariableIndex with Product with Serializable

    Store double into local variable.

  42. trait DStoreInstruction extends StoreLocalVariableInstruction

    Store long into local variable.

  43. abstract class DivideInstruction extends StackBasedArithmeticInstruction with StackBasedBinaryArithmeticInstruction

    An instruction that divides two primitive values.

  44. 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.

  45. sealed abstract class ExpressionResultLocation extends AnyRef

    Characterizes the result of evaluating an expression with respect to the place where the result is stored.

  46. trait FConstInstruction extends LoadConstantInstruction[Float] with ImplicitValue

  47. case class FLOAD(lvIndex: Int) extends LoadLocalVariableInstruction with FLoadInstruction with ExplicitLocalVariableIndex with Product with Serializable

    Load float from local variable.

  48. trait FLoadInstruction extends LoadLocalVariableInstruction

    Load float from local variable.

  49. case class FSTORE(lvIndex: Int) extends StoreLocalVariableInstruction with FStoreInstruction with ExplicitLocalVariableIndex with Product with Serializable

    Store float into local variable.

  50. trait FStoreInstruction extends StoreLocalVariableInstruction

    Store float into local variable.

  51. abstract class FieldAccess extends Instruction with ConstantLengthInstruction with NoLabels

    Instructions that access a class' field.

  52. abstract class FieldReadAccess extends FieldAccess

    Common superclass of all field read instructions.

  53. abstract class FieldWriteAccess extends FieldAccess

    Common superclass of all FieldWriteAccess instructions.

  54. abstract class FloatingPointDivideInstruction extends DivideInstruction

    An instruction that divides two primitive floating point values.

  55. abstract class FloatingPointRemainderInstruction extends RemainderInstruction

    An instruction that calculates the remainder of two primitive floating point values.

  56. 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 special arraylength instruction.

    See also

    org.opalj.br.instructions.FieldAccess for additional pattern matching support.

  57. 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.

  58. case class GOTO(branchoffset: Int) extends GotoInstruction with GOTOLike with Product with Serializable
  59. trait GOTOLike extends GotoInstructionLike

    Branch always.

  60. case class GOTO_W(branchoffset: Int) extends GotoInstruction with GOTO_WLike with Product with Serializable
  61. trait GOTO_WLike extends GotoInstructionLike

    Branch always.

  62. trait GotoInstruction extends UnconditionalBranchInstruction with GotoInstructionLike
  63. trait GotoInstructionLike extends UnconditionalBranchInstructionLike

    Super class of the Goto instructions.

  64. trait IConstInstruction extends LoadConstantInstruction[Int] with ImplicitValue

  65. trait IF0Instruction[T <: IF0Instruction[T]] extends SimpleConditionalBranchInstruction[T] with IF0InstructionLike
  66. trait IF0InstructionLike extends SimpleConditionalBranchInstructionLike

    Common superclass of all instructions that perform a comparison of an integer value against the constant value 0.

  67. trait IFACMPInstruction[T <: IFACMPInstruction[T]] extends SimpleConditionalBranchInstruction[T] with IFACMPInstructionLike
  68. trait IFACMPInstructionLike extends SimpleConditionalBranchInstructionLike

    Common superclass of all instructions that perform a conditional jump based on the comparison of reference values.

  69. case class IFEQ(branchoffset: Int) extends IF0Instruction[IFEQ] with IFEQLike with Product with Serializable
  70. trait IFEQLike extends IF0InstructionLike

    Branch if int comparison with zero succeeds; succeeds if and only if value = 0.

  71. case class IFGE(branchoffset: Int) extends IF0Instruction[IFGE] with IFGELike with Product with Serializable
  72. trait IFGELike extends IF0InstructionLike

    Branch if int comparison with zero succeeds; succeeds if and only if value ≥ 0.

  73. case class IFGT(branchoffset: Int) extends IF0Instruction[IFGT] with IFGTLike with Product with Serializable
  74. trait IFGTLike extends IF0InstructionLike

    Branch if int comparison with zero succeeds; succeeds if and only if value > 0.

  75. trait IFICMPInstruction[T <: IFICMPInstruction[T]] extends SimpleConditionalBranchInstruction[T] with IFICMPInstructionLike
  76. trait IFICMPInstructionLike extends SimpleConditionalBranchInstructionLike

    Common superclass of all instructions that perform a conditional jump based on the comparison of two integer values.

  77. case class IFLE(branchoffset: Int) extends IF0Instruction[IFLE] with IFLELike with Product with Serializable
  78. trait IFLELike extends IF0InstructionLike

    Branch if int comparison with zero succeeds; succeeds if and only if value ≤ 0.

  79. case class IFLT(branchoffset: Int) extends IF0Instruction[IFLT] with IFLTLike with Product with Serializable
  80. trait IFLTLike extends IF0InstructionLike

    Branch if int comparison with zero succeeds; succeeds if and only if value < 0.

  81. case class IFNE(branchoffset: Int) extends IF0Instruction[IFNE] with IFNELike with Product with Serializable
  82. trait IFNELike extends IF0InstructionLike

    Branch if int comparison with zero succeeds; succeeds if and only if value ≠ 0.

  83. case class IFNONNULL(branchoffset: Int) extends IFXNullInstruction[IFNONNULL] with IFNONNULLLike with Product with Serializable
  84. trait IFNONNULLLike extends IFXNullInstructionLike

    Branch if reference is not null.

  85. case class IFNULL(branchoffset: Int) extends IFXNullInstruction[IFNULL] with IFNULLLike with Product with Serializable
  86. trait IFNULLLike extends IFXNullInstructionLike

    Branch if reference is null.

  87. trait IFXNullInstruction[T <: IFXNullInstruction[T]] extends SimpleConditionalBranchInstruction[T] with IFXNullInstructionLike
  88. trait IFXNullInstructionLike extends SimpleConditionalBranchInstructionLike

    Common superclass of all instructions that perform a conditional jump based on an explicit comparison with null.

  89. case class IF_ACMPEQ(branchoffset: Int) extends IFACMPInstruction[IF_ACMPEQ] with IF_ACMPEQLike with Product with Serializable
  90. trait IF_ACMPEQLike extends IFACMPInstructionLike

    Branch if reference comparison succeeds; succeeds if and only if value1 == value2.

  91. case class IF_ACMPNE(branchoffset: Int) extends IFACMPInstruction[IF_ACMPNE] with IF_ACMPNELike with Product with Serializable
  92. trait IF_ACMPNELike extends IFACMPInstructionLike

    Branch if reference comparison succeeds; succeeds if and only if value1 ≠ value2.

  93. case class IF_ICMPEQ(branchoffset: Int) extends IFICMPInstruction[IF_ICMPEQ] with IF_ICMPEQLike with Product with Serializable
  94. trait IF_ICMPEQLike extends IFICMPInstructionLike

    Branch if int comparison succeeds; succeeds if and only if value1 = value2.

  95. case class IF_ICMPGE(branchoffset: Int) extends IFICMPInstruction[IF_ICMPGE] with IF_ICMPGELike with Product with Serializable
  96. trait IF_ICMPGELike extends IFICMPInstructionLike

    Branch if int comparison succeeds; succeeds if and only if value1 ≥ value2.

  97. case class IF_ICMPGT(branchoffset: Int) extends IFICMPInstruction[IF_ICMPGT] with IF_ICMPGTLike with Product with Serializable
  98. trait IF_ICMPGTLike extends IFICMPInstructionLike

    Branch if int comparison succeeds; succeeds if and only if value1 > value2.

  99. case class IF_ICMPLE(branchoffset: Int) extends IFICMPInstruction[IF_ICMPLE] with IF_ICMPLELike with Product with Serializable
  100. trait IF_ICMPLELike extends IFICMPInstructionLike

    Branch if int comparison succeeds; succeeds if and only if value1 ≤ value2.

  101. case class IF_ICMPLT(branchoffset: Int) extends IFICMPInstruction[IF_ICMPLT] with IF_ICMPLTLike with Product with Serializable
  102. trait IF_ICMPLTLike extends IFICMPInstructionLike

    Branch if int comparison succeeds; succeeds if and only if value1 < value2.

  103. case class IF_ICMPNE(branchoffset: Int) extends IFICMPInstruction[IF_ICMPNE] with IF_ICMPNELike with Product with Serializable
  104. trait IF_ICMPNELike extends IFICMPInstructionLike

    Branch if int comparison succeeds; succeeds if and only if value1 ≠ value2.

  105. case class IINC(lvIndex: Int, constValue: Int) extends ArithmeticInstruction with Product with Serializable

    Increment local variable by constant.

  106. case class ILOAD(lvIndex: Int) extends LoadLocalVariableInstruction with ILoadInstruction with ExplicitLocalVariableIndex with Product with Serializable

    Load int from local variable.

  107. trait ILoadInstruction extends LoadLocalVariableInstruction

    Load int from local variable.

  108. case class INSTANCEOF(referenceType: ReferenceType) extends ConstantLengthInstruction with NoLabels with Product with Serializable

    Determine if object is of given type.

  109. trait INVOKEDYNAMIC extends InvocationInstruction

    Represents an invokedynamic instruction.

  110. case class INVOKEINTERFACE(declaringClass: ObjectType, name: String, methodDescriptor: MethodDescriptor) extends VirtualMethodInvocationInstruction with Product with Serializable

    Invoke interface method.

  111. 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.

  112. case class INVOKESTATIC(declaringClass: ObjectType, isInterface: Boolean, name: String, methodDescriptor: MethodDescriptor) extends NonVirtualMethodInvocationInstruction with Product with Serializable

    Invoke a class (static) method.

  113. case class INVOKEVIRTUAL(declaringClass: ReferenceType, name: String, methodDescriptor: MethodDescriptor) extends VirtualMethodInvocationInstruction with Product with Serializable

    Invoke instance method; dispatch based on class.

  114. case class ISTORE(lvIndex: Int) extends StoreLocalVariableInstruction with IStoreInstruction with ExplicitLocalVariableIndex with Product with Serializable

    Store int into local variable.

  115. trait IStoreInstruction extends StoreLocalVariableInstruction
  116. 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.

  117. trait ImplicitValue extends ConstantLengthInstruction with InstructionMetaInformation

    Trait that can be mixed in if the value of a instruction is implicitly defined.

  118. trait Instruction extends InstructionLike

    Common superclass of all instructions which are in their final form.

  119. 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).

  120. 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.

  121. trait InstructionMetaInformation extends AnyRef
  122. abstract class IntegerDivideInstruction extends DivideInstruction

    An instruction that divides two primitive integer values (long or in).

  123. abstract class IntegerRemainderInstruction extends RemainderInstruction

    An instruction that the remainder of an integer values (long or in).

  124. 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.

  125. case class JSR(branchoffset: Int) extends JSRInstruction with JSRLike with Product with Serializable
  126. trait JSRInstruction extends UnconditionalBranchInstruction with JSRInstructionLike
  127. trait JSRInstructionLike extends UnconditionalBranchInstructionLike

    Jump subroutine.

  128. trait JSRLike extends JSRInstructionLike

    Jump subroutine.

  129. case class JSR_W(branchoffset: Int) extends JSRInstruction with JSR_WLike with Product with Serializable
  130. trait JSR_WLike extends JSRInstructionLike

    Jump subroutine.

  131. trait LConstInstruction extends LoadConstantInstruction[Long] with ImplicitValue

  132. sealed trait LDC[T] extends LoadConstantInstruction[T] with InstructionMetaInformation

    Push item from runtime constant pool.

  133. sealed abstract class LDC2_W[T] extends LoadConstantInstruction[T] with InstructionMetaInformation

    Push long or double from runtime constant pool.

  134. sealed abstract class LDC_W[T] extends LoadConstantInstruction[T] with InstructionMetaInformation

    Push item from runtime constant pool.

  135. case class LLOAD(lvIndex: Int) extends LoadLocalVariableInstruction with LLoadInstruction with ExplicitLocalVariableIndex with Product with Serializable

    Load long from local variable.

  136. trait LLoadInstruction extends LoadLocalVariableInstruction

    Load long from local variable.

  137. 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.

  138. trait LOOKUPSWITCHLike extends CompoundConditionalBranchInstructionLike

    Access jump table by key match and jump.

  139. case class LSTORE(lvIndex: Int) extends StoreLocalVariableInstruction with LStoreInstruction with ExplicitLocalVariableIndex with Product with Serializable

    Store long into local variable.

  140. trait LStoreInstruction extends StoreLocalVariableInstruction

    Store long into local variable.

  141. case class LabeledGOTO(branchTarget: InstructionLabel) extends LabeledUnconditionalBranchInstruction with GOTOLike with Product with Serializable
  142. case class LabeledGOTO_W(branchTarget: InstructionLabel) extends LabeledUnconditionalBranchInstruction with GOTO_WLike with Product with Serializable
  143. case class LabeledIFEQ(branchTarget: InstructionLabel) extends LabeledSimpleConditionalBranchInstruction with IFEQLike with Product with Serializable
  144. case class LabeledIFGE(branchTarget: InstructionLabel) extends LabeledSimpleConditionalBranchInstruction with IFGELike with Product with Serializable
  145. case class LabeledIFGT(branchTarget: InstructionLabel) extends LabeledSimpleConditionalBranchInstruction with IFGTLike with Product with Serializable
  146. case class LabeledIFLE(branchTarget: InstructionLabel) extends LabeledSimpleConditionalBranchInstruction with IFLELike with Product with Serializable
  147. case class LabeledIFLT(branchTarget: InstructionLabel) extends LabeledSimpleConditionalBranchInstruction with IFLTLike with Product with Serializable
  148. case class LabeledIFNE(branchTarget: InstructionLabel) extends LabeledSimpleConditionalBranchInstruction with IFNELike with Product with Serializable
  149. case class LabeledIFNONNULL(branchTarget: InstructionLabel) extends LabeledSimpleConditionalBranchInstruction with IFNONNULLLike with Product with Serializable
  150. case class LabeledIFNULL(branchTarget: InstructionLabel) extends LabeledSimpleConditionalBranchInstruction with IFNULLLike with Product with Serializable
  151. case class LabeledIF_ACMPEQ(branchTarget: InstructionLabel) extends LabeledSimpleConditionalBranchInstruction with IF_ACMPEQLike with Product with Serializable
  152. case class LabeledIF_ACMPNE(branchTarget: InstructionLabel) extends LabeledSimpleConditionalBranchInstruction with IF_ACMPNELike with Product with Serializable
  153. case class LabeledIF_ICMPEQ(branchTarget: InstructionLabel) extends LabeledSimpleConditionalBranchInstruction with IF_ICMPEQLike with Product with Serializable
  154. case class LabeledIF_ICMPGE(branchTarget: InstructionLabel) extends LabeledSimpleConditionalBranchInstruction with IF_ICMPGELike with Product with Serializable
  155. case class LabeledIF_ICMPGT(branchTarget: InstructionLabel) extends LabeledSimpleConditionalBranchInstruction with IF_ICMPGTLike with Product with Serializable
  156. case class LabeledIF_ICMPLE(branchTarget: InstructionLabel) extends LabeledSimpleConditionalBranchInstruction with IF_ICMPLELike with Product with Serializable
  157. case class LabeledIF_ICMPLT(branchTarget: InstructionLabel) extends LabeledSimpleConditionalBranchInstruction with IF_ICMPLTLike with Product with Serializable
  158. case class LabeledIF_ICMPNE(branchTarget: InstructionLabel) extends LabeledSimpleConditionalBranchInstruction with IF_ICMPNELike with Product with Serializable
  159. 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 are InstructionLabels; however, the eDSL provides implicits to faciliate the usage of standard scala Symbols as labels.

  160. case class LabeledJSR(branchTarget: InstructionLabel) extends LabeledUnconditionalBranchInstruction with JSRLike with Product with Serializable
  161. case class LabeledJSR_W(branchTarget: InstructionLabel) extends LabeledUnconditionalBranchInstruction with JSR_WLike with Product with Serializable
  162. 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.

  163. trait LabeledSimpleConditionalBranchInstruction extends LabeledInstruction with SimpleConditionalBranchInstructionLike

    An conditional branch instruction where the jump target is identified using a Symbol.

  164. 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 Scala Symbol.

  165. 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.

  166. trait LabeledUnconditionalBranchInstruction extends LabeledSingleJumpTargetInstruction with UnconditionalBranchInstructionLike

    Super class of all labeled bytecode instructions that always jump to a specific target instruction.

  167. 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.

  168. final case class LoadClass_W(value: ReferenceType) extends LDC_W[ReferenceType] with Product with Serializable
  169. abstract class LoadConstantInstruction[T] extends Instruction with ConstantLengthInstruction with NoLabels

    Puts a constant value on the stack.

  170. final case class LoadDouble(value: Double) extends LDC2_W[Double] with Product with Serializable
  171. 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.

  172. 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.

  173. 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.

  174. 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.

  175. final case class LoadFloat_W(value: Float) extends PrimitiveLDC_W[Float] with Product with Serializable
  176. final case class LoadInt(value: Int) extends PrimitiveLDC[Int] with Product with Serializable

    Note

    To match LoadInt and LoadInt_W instructions you can use LDCInt.

  177. final case class LoadInt_W(value: Int) extends PrimitiveLDC_W[Int] with Product with Serializable
  178. abstract class LoadLocalVariableInstruction extends Instruction with NoLabels

    An instruction that loads a local variable and puts it on top of the stack.

  179. final case class LoadLong(value: Long) extends LDC2_W[Long] with Product with Serializable
  180. 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.

  181. final case class LoadMethodHandle_W(value: MethodHandle) extends LDC_W[MethodHandle] with Product with Serializable
  182. 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.

  183. final case class LoadMethodType_W(value: MethodDescriptor) extends LDC_W[MethodDescriptor] with Product with Serializable
  184. 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.

  185. 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.

  186. 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.

  187. abstract class MethodInvocationInstruction extends InvocationInstruction

    An instruction that invokes another method (does not consider invokedynamic instructions).

  188. abstract class MultiplyInstruction extends StackBasedArithmeticInstruction with AlwaysSucceedingStackBasedBinaryArithmeticInstruction

    An instruction that multiplies two primitive values.

  189. case class NEW(objectType: ObjectType) extends ConstantLengthInstruction with NoLabels with Product with Serializable

    Create new object.

  190. sealed abstract class NEWARRAY extends CreateNewOneDimensionalArrayInstruction

    Create new array handler.

  191. case class NamedLabel(name: String) extends InstructionLabel with Product with Serializable
  192. abstract class NegateInstruction extends StackBasedArithmeticInstruction with UnaryArithmeticInstruction

    An instruction that negates a primitive value.

  193. abstract class NonVirtualMethodInvocationInstruction extends MethodInvocationInstruction with InstructionMetaInformation

    Invocation of a method where the target method is statically resolved.

  194. 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.

  195. 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. PCLabels 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.)

  196. 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.

  197. 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.

  198. trait PopInstruction extends StackManagementInstruction with InstructionMetaInformation

    Pops the (two) top operand stack value(s).

  199. trait PrimitiveArrayAccess extends InstructionMetaInformation

    Trait that is mixed in by all primitive array access instructions.

  200. abstract class PrimitiveArrayStoreInstruction extends ArrayStoreInstruction with InstructionMetaInformation

    An instruction that stores a primitive value in an array of primitive values.

  201. sealed abstract class PrimitiveLDC[T] extends LoadConstantInstruction[T] with LDC[T]

    A load constant instruction which never fails.

  202. sealed abstract class PrimitiveLDC_W[T] extends LDC_W[T]

    A load constant instruction which never fails.

  203. 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.

  204. case class Register(index: Int) extends ExpressionResultLocation with Product with Serializable
  205. abstract class RemainderInstruction extends StackBasedArithmeticInstruction with StackBasedBinaryArithmeticInstruction

    An instruction that calculates the remainder of a value.

  206. abstract class ReturnInstruction extends Instruction with InstructionMetaInformation with ConstantLengthInstruction with NoLabels

    An instruction that returns from a method.

  207. abstract class ReturnValueInstruction extends ReturnInstruction

    An instruction that returns a value calculated by the method.

  208. case class RewriteLabel extends InstructionLabel with Product with Serializable

  209. case class SIPUSH(value: Int) extends LoadConstantInstruction[Int] with Product with Serializable

    Push short.

  210. abstract class ShiftInstruction extends StackBasedArithmeticInstruction with AlwaysSucceedingStackBasedBinaryArithmeticInstruction

    An instruction that adds two primitive values.

  211. trait SimpleBranchInstruction extends SimpleBranchInstructionLike with ConstantLengthInstruction with ControlTransferInstruction
  212. trait SimpleBranchInstructionLike extends ControlTransferInstructionLike with ConstantLengthInstructionLike
  213. trait SimpleConditionalBranchInstruction[T <: SimpleConditionalBranchInstruction[T]] extends ConditionalBranchInstruction with SimpleBranchInstruction with SimpleConditionalBranchInstructionLike
  214. trait SimpleConditionalBranchInstructionLike extends ConditionalBranchInstructionLike with SimpleBranchInstructionLike

    Common superclass of all instructions that perform a conditional jump.

  215. 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.

  216. 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!

  217. abstract class StackManagementInstruction extends ConstantLengthInstruction with NoLabels with InstructionMetaInformation

    An instruction that directly manipulates the operand stack by popping, swapping or duplicating values.

  218. abstract class StoreLocalVariableInstruction extends Instruction with NoLabels

    An instruction that stores the top-most stack value in a local variable.

  219. abstract class SubtractInstruction extends StackBasedArithmeticInstruction with AlwaysSucceedingStackBasedBinaryArithmeticInstruction

    An instruction that subtracts two primitive values.

  220. abstract class SynchronizationInstruction extends Instruction with ConstantLengthInstruction with NoLabels

    A synchronization related instruction (MonitorEnter|MonitorExit).

  221. case class TABLESWITCH(defaultOffset: Int, low: Int, high: Int, jumpOffsets: ArraySeq[Int]) extends CompoundConditionalBranchInstruction with TABLESWITCHLike with Product with Serializable
  222. trait TABLESWITCHLike extends CompoundConditionalBranchInstructionLike

    Access jump table by index and jump.

  223. trait UnaryArithmeticInstruction extends ArithmeticInstruction

    Implemented by all arithmetic instructions that have one (runtime-dependent) operand; i.e., the NegateInstructions.

  224. trait UnconditionalBranchInstruction extends SimpleBranchInstruction with UnconditionalBranchInstructionLike
  225. trait UnconditionalBranchInstructionLike extends SimpleBranchInstructionLike

    Super class of all bytecode instructions that always jump to a specific target instruction.

  226. abstract class VirtualMethodInvocationInstruction extends MethodInvocationInstruction

    Common superclass of all Invoke instructions that require virtual method resolution.

Value Members

  1. implicit final val TypeConversionInstructions: TypeConversionFactory[Array[Instruction]] { ... /* 41 definitions in type refinement */ }
  2. case object AALOAD extends ArrayLoadInstruction with InstructionMetaInformation with Product with Serializable

    Load reference from array.

  3. case object AASTORE extends ArrayStoreInstruction with InstructionMetaInformation with Product with Serializable

    Store into reference array.

  4. case object ACONST_NULL extends LoadConstantInstruction[Null] with ImplicitValue with InstructionMetaInformation with Product with Serializable

    Push null.

  5. object ALOAD extends InstructionMetaInformation with Serializable
  6. case object ALOAD_0 extends LoadLocalVariableInstruction with ConstantALoadInstruction with Product with Serializable

    Load reference from local variable with index 0.

  7. case object ALOAD_1 extends LoadLocalVariableInstruction with ConstantALoadInstruction with Product with Serializable

    Load reference from local variable with index 1.

  8. case object ALOAD_2 extends LoadLocalVariableInstruction with ConstantALoadInstruction with Product with Serializable

    Load reference from local variable with index 2.

  9. case object ALOAD_3 extends LoadLocalVariableInstruction with ConstantALoadInstruction with Product with Serializable

    Load reference from local variable with index 3.

  10. object ALoadInstruction
  11. object ANEWARRAY extends InstructionMetaInformation with Serializable

    General information and factory methods.

  12. case object ARETURN extends ReturnValueInstruction with Product with Serializable

    Return reference from method.

  13. case object ARRAYLENGTH extends Instruction with ConstantLengthInstruction with NoLabels with Product with Serializable

    Get length of array.

  14. object ASTORE extends InstructionMetaInformation with Serializable
  15. case object ASTORE_0 extends StoreLocalVariableInstruction with ConstantIndexAStoreInstruction with Product with Serializable

    Store reference into local variable with index 0.

  16. case object ASTORE_1 extends StoreLocalVariableInstruction with ConstantIndexAStoreInstruction with Product with Serializable

    Store reference into local variable with index 1.

  17. case object ASTORE_2 extends StoreLocalVariableInstruction with ConstantIndexAStoreInstruction with Product with Serializable

    Store reference into local variable with index 2.

  18. case object ASTORE_3 extends StoreLocalVariableInstruction with ConstantIndexAStoreInstruction with Product with Serializable

    Store reference into local variable with index 3.

  19. object AStoreInstruction
  20. case object ATHROW extends Instruction with NoLabels with Product with Serializable

    Throw exception or error.

  21. object ArithmeticInstruction

    Defines values and methods common to arithmetic instructions.

  22. object ArrayLoadInstruction

    Defines common properties of instructions that load values stored in arrays.

  23. case object BALOAD extends ArrayLoadInstruction with PrimitiveArrayAccess with Product with Serializable

    Load byte or boolean from array.

  24. case object BASTORE extends PrimitiveArrayStoreInstruction with PrimitiveArrayAccess with Product with Serializable

    Store into byte or boolean array.

  25. object BIPUSH extends InstructionMetaInformation
  26. case object CALOAD extends ArrayLoadInstruction with PrimitiveArrayAccess with Product with Serializable

    Load char from array.

  27. case object CASTORE extends PrimitiveArrayStoreInstruction with PrimitiveArrayAccess with Product with Serializable

    Store into char array.

  28. object CHECKCAST extends InstructionMetaInformation with Serializable

    General information and factory methods.

  29. 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.

  30. object CreateNewArrayInstruction
  31. case object D2F extends NumericConversionInstruction with Product with Serializable

    Convert double to float.

  32. case object D2I extends NumericConversionInstruction with Product with Serializable

    Convert double to int.

  33. case object D2L extends NumericConversionInstruction with Product with Serializable

    Convert double to long.

  34. case object DADD extends AddInstruction with Product with Serializable

    Add double.

  35. case object DALOAD extends ArrayLoadInstruction with PrimitiveArrayAccess with Product with Serializable

    Load double from array.

  36. case object DASTORE extends PrimitiveArrayStoreInstruction with PrimitiveArrayAccess with Product with Serializable

    Store into double array.

  37. case object DCMPG extends ComparisonInstruction with Product with Serializable

    Compare double.

  38. case object DCMPL extends ComparisonInstruction with Product with Serializable

    Compare double.

  39. case object DCONST_0 extends LoadConstantInstruction[Double] with DConstInstruction with Product with Serializable

    Push the double constant 0.0 onto the operand stack.

  40. case object DCONST_1 extends LoadConstantInstruction[Double] with DConstInstruction with Product with Serializable

    Push the double constant 1.0 onto the operand stack.

  41. object DConstInstruction
  42. case object DDIV extends FloatingPointDivideInstruction with Product with Serializable

    Divide double.

  43. object DLOAD extends InstructionMetaInformation with Serializable
  44. case object DLOAD_0 extends LoadLocalVariableInstruction with ConstantIndexDLoadInstruction with Product with Serializable

    Load double from local variable with index 0.

  45. case object DLOAD_1 extends LoadLocalVariableInstruction with ConstantIndexDLoadInstruction with Product with Serializable

    Load double from local variable with index 1.

  46. case object DLOAD_2 extends LoadLocalVariableInstruction with ConstantIndexDLoadInstruction with Product with Serializable

    Load double from local variable with index 2.

  47. case object DLOAD_3 extends LoadLocalVariableInstruction with ConstantIndexDLoadInstruction with Product with Serializable

    Load double from local variable with index 3.

  48. case object DMUL extends MultiplyInstruction with Product with Serializable

    Multiply double.

  49. case object DNEG extends NegateInstruction with Product with Serializable

    Negate double.

  50. case object DREM extends FloatingPointRemainderInstruction with Product with Serializable

    Remainder double.

  51. case object DRETURN extends ReturnValueInstruction with Product with Serializable

    Return double from method.

  52. object DSTORE extends InstructionMetaInformation with Serializable
  53. case object DSTORE_0 extends StoreLocalVariableInstruction with ConstantIndexDStoreInstruction with Product with Serializable

    Store double into local variable with index 0.

  54. case object DSTORE_1 extends StoreLocalVariableInstruction with ConstantIndexDStoreInstruction with Product with Serializable

    Store double into local variable with index 1.

  55. case object DSTORE_2 extends StoreLocalVariableInstruction with ConstantIndexDStoreInstruction with Product with Serializable

    Store double into local variable with index 2.

  56. case object DSTORE_3 extends StoreLocalVariableInstruction with ConstantIndexDStoreInstruction with Product with Serializable

    Store double into local variable with index 3.

  57. case object DSUB extends SubtractInstruction with Product with Serializable

    Subtract double.

  58. object DStoreInstruction
  59. case object DUP extends StackManagementInstruction with Product with Serializable

    Duplicate the top operand stack value.

  60. case object DUP2 extends StackManagementInstruction with Product with Serializable

    Duplicate the top one or two operand stack values.

  61. 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.

  62. 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.

  63. case object DUP_X1 extends StackManagementInstruction with Product with Serializable

    Duplicate the top operand stack value and insert two values down.

  64. case object DUP_X2 extends StackManagementInstruction with Product with Serializable

    Duplicate the top operand stack value and insert two or three values down.

  65. object ExplicitLocalVariableIndex
  66. case object F2D extends NumericConversionInstruction with Product with Serializable

    Convert float to double.

  67. case object F2I extends NumericConversionInstruction with Product with Serializable

    Convert float to int.

  68. case object F2L extends NumericConversionInstruction with Product with Serializable

    Convert float to long.

  69. case object FADD extends AddInstruction with Product with Serializable

    Add float.

  70. case object FALOAD extends ArrayLoadInstruction with PrimitiveArrayAccess with Product with Serializable

    Load float from array.

  71. case object FASTORE extends PrimitiveArrayStoreInstruction with PrimitiveArrayAccess with Product with Serializable

    Store into float array.

  72. case object FCMPG extends ComparisonInstruction with Product with Serializable

    Compare float.

  73. case object FCMPL extends ComparisonInstruction with Product with Serializable

    Compare float.

  74. case object FCONST_0 extends LoadConstantInstruction[Float] with FConstInstruction with Product with Serializable

    Push the float constant 0.0 onto the operand stack.

  75. case object FCONST_1 extends LoadConstantInstruction[Float] with FConstInstruction with Product with Serializable

    Push the float constant 1.0 onto the operand stack.

  76. case object FCONST_2 extends LoadConstantInstruction[Float] with FConstInstruction with Product with Serializable

    Push the float constant 2.0 onto the operand stack.

  77. object FConstInstruction
  78. case object FDIV extends FloatingPointDivideInstruction with Product with Serializable

    Divide float.

  79. object FLOAD extends InstructionMetaInformation with Serializable
  80. case object FLOAD_0 extends LoadLocalVariableInstruction with ConstantIndexFLoadInstruction with Product with Serializable

    Load float from local variable with index 0.

  81. case object FLOAD_1 extends LoadLocalVariableInstruction with ConstantIndexFLoadInstruction with Product with Serializable

    Load float from local variable with index 1.

  82. case object FLOAD_2 extends LoadLocalVariableInstruction with ConstantIndexFLoadInstruction with Product with Serializable

    Load float from local variable with index 2.

  83. case object FLOAD_3 extends LoadLocalVariableInstruction with ConstantIndexFLoadInstruction with Product with Serializable

    Load float from local variable with index 3.

  84. case object FMUL extends MultiplyInstruction with Product with Serializable

    Multiply float.

  85. case object FNEG extends NegateInstruction with Product with Serializable

    Negate float.

  86. case object FREM extends FloatingPointRemainderInstruction with Product with Serializable

    Remainder float.

  87. case object FRETURN extends ReturnValueInstruction with Product with Serializable

    Return float from method.

  88. object FSTORE extends InstructionMetaInformation with Serializable
  89. case object FSTORE_0 extends StoreLocalVariableInstruction with ConstantIndexFStoreInstruction with Product with Serializable

    Store float into local variable with index 0.

  90. case object FSTORE_1 extends StoreLocalVariableInstruction with ConstantIndexFStoreInstruction with Product with Serializable

    Store float into local variable with index 1.

  91. case object FSTORE_2 extends StoreLocalVariableInstruction with ConstantIndexFStoreInstruction with Product with Serializable

    Store float into local variable with index 2.

  92. case object FSTORE_3 extends StoreLocalVariableInstruction with ConstantIndexFStoreInstruction with Product with Serializable

    Store float into local variable with index 3.

  93. case object FSUB extends SubtractInstruction with Product with Serializable

    Subtract float.

  94. object FStoreInstruction
  95. object FieldAccess

    Defines an extractor to facilitate pattern matching on field access instructions.

  96. object FieldReadAccess

    Defines an extractor to facilitate pattern matching on field read access instructions.

  97. object FieldWriteAccess

    Defines an extractor to facilitate pattern matching on field write access instructions.

  98. object GETFIELD extends InstructionMetaInformation with Serializable

    General information and factory methods.

  99. object GETSTATIC extends InstructionMetaInformation with Serializable

    General information and factory methods.

  100. object GOTO extends InstructionMetaInformation with Serializable

    Defines constants and factory methods.

  101. object GOTO_W extends InstructionMetaInformation with Serializable

    Defines constants and factory methods.

  102. object GotoInstruction
  103. case object I2B extends NumericConversionInstruction with Product with Serializable

    Convert int to byte.

  104. case object I2C extends NumericConversionInstruction with Product with Serializable

    Convert int to char.

  105. case object I2D extends NumericConversionInstruction with Product with Serializable

    Convert int to double.

  106. case object I2F extends NumericConversionInstruction with Product with Serializable

    Convert int to float.

  107. case object I2L extends NumericConversionInstruction with Product with Serializable

    Convert int to long.

  108. case object I2S extends NumericConversionInstruction with Product with Serializable

    Convert int to short.

  109. case object IADD extends AddInstruction with Product with Serializable

    Add int.

  110. case object IALOAD extends ArrayLoadInstruction with PrimitiveArrayAccess with Product with Serializable

    Load int from array.

  111. case object IAND extends BitwiseInstruction with Product with Serializable

    Boolean AND int.

  112. case object IASTORE extends PrimitiveArrayStoreInstruction with PrimitiveArrayAccess with Product with Serializable

    Store into int array.

  113. case object ICONST_0 extends LoadConstantInstruction[Int] with IConstInstruction with Product with Serializable

    Push int constant value 0.

  114. case object ICONST_1 extends LoadConstantInstruction[Int] with IConstInstruction with Product with Serializable

    Push int constant value 1.

  115. case object ICONST_2 extends LoadConstantInstruction[Int] with IConstInstruction with Product with Serializable

    Push int constant value 2.

  116. case object ICONST_3 extends LoadConstantInstruction[Int] with IConstInstruction with Product with Serializable

    Push int constant value 3.

  117. case object ICONST_4 extends LoadConstantInstruction[Int] with IConstInstruction with Product with Serializable

    Push int constant value 4.

  118. case object ICONST_5 extends LoadConstantInstruction[Int] with IConstInstruction with Product with Serializable

    Push int constant value 5.

  119. case object ICONST_M1 extends LoadConstantInstruction[Int] with IConstInstruction with Product with Serializable

    Push int constant.

  120. object IConstInstruction
  121. case object IDIV extends IntegerDivideInstruction with Product with Serializable

    Divide int.

  122. object IF0Instruction
  123. object IFACMPInstruction
  124. object IFEQ extends InstructionMetaInformation with Serializable

    Defines constants and factory methods.

  125. object IFGE extends InstructionMetaInformation with Serializable

    Defines constants and factory methods.

  126. object IFGT extends InstructionMetaInformation with Serializable

    Defines constants and factory methods.

  127. object IFICMPInstruction
  128. object IFLE extends InstructionMetaInformation with Serializable

    Defines constants and factory methods.

  129. object IFLT extends InstructionMetaInformation with Serializable

    Defines constants and factory methods.

  130. object IFNE extends InstructionMetaInformation with Serializable

    Defines constants and factory methods.

  131. object IFNONNULL extends InstructionMetaInformation with Serializable

    Defines constants and factory methods.

  132. object IFNULL extends InstructionMetaInformation with Serializable

    Defines constants and factory methods.

  133. object IFXNullInstruction
  134. object IF_ACMPEQ extends InstructionMetaInformation with Serializable

    Defines constants and factory methods.

  135. object IF_ACMPNE extends InstructionMetaInformation with Serializable

    Defines constants and factory methods.

  136. object IF_ICMPEQ extends InstructionMetaInformation with Serializable

    Defines constants and factory methods.

  137. object IF_ICMPGE extends InstructionMetaInformation with Serializable
  138. object IF_ICMPGT extends InstructionMetaInformation with Serializable

    Defines constants and factory methods.

  139. object IF_ICMPLE extends InstructionMetaInformation with Serializable

    Defines constants and factory methods.

  140. object IF_ICMPLT extends InstructionMetaInformation with Serializable

    Defines constants and factory methods.

  141. object IF_ICMPNE extends InstructionMetaInformation with Serializable

    Defines constants and factory methods.

  142. object IINC extends InstructionMetaInformation with Serializable
  143. object ILOAD extends InstructionMetaInformation with Serializable
  144. case object ILOAD_0 extends LoadLocalVariableInstruction with ConstantIndexILoadInstruction with Product with Serializable

    Load int from local variable with index 0.

  145. case object ILOAD_1 extends LoadLocalVariableInstruction with ConstantIndexILoadInstruction with Product with Serializable

    Load int from local variable with index 1.

  146. case object ILOAD_2 extends LoadLocalVariableInstruction with ConstantIndexILoadInstruction with Product with Serializable

    Load int from local variable with index 2.

  147. case object ILOAD_3 extends LoadLocalVariableInstruction with ConstantIndexILoadInstruction with Product with Serializable

    Load int from local variable with index 3.

  148. case object IMUL extends MultiplyInstruction with Product with Serializable

    Multiply int.

  149. 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.

  150. case object INCOMPLETE_LDC extends LoadConstantInstruction[Any] with LDC[Any] with Product with Serializable
  151. case object INCOMPLETE_LDC2_W extends LDC2_W[Any] with Product with Serializable
  152. case object INCOMPLETE_LDC_W extends LDC_W[Any] with Product with Serializable
  153. case object INEG extends NegateInstruction with Product with Serializable

    Negate int.

  154. object INSTANCEOF extends InstructionMetaInformation with Serializable

    General information and factory methods.

  155. object INVOKEDYNAMIC extends InstructionMetaInformation

    Common constants and extractor methods related to INVOKEDYNAMIC instructions.

  156. object INVOKEINTERFACE extends InstructionMetaInformation with Serializable

    General information and factory methods.

  157. object INVOKESPECIAL extends InstructionMetaInformation with Serializable

    General information and factory methods.

  158. object INVOKESTATIC extends InstructionMetaInformation with Serializable

    General information and factory methods.

  159. object INVOKEVIRTUAL extends InstructionMetaInformation with Serializable

    General information and factory methods.

  160. case object IOR extends BitwiseInstruction with Product with Serializable

    Boolean OR int.

  161. case object IREM extends IntegerRemainderInstruction with Product with Serializable

    Remainder int.

  162. case object IRETURN extends ReturnValueInstruction with Product with Serializable

    Return int from method.

  163. case object ISHL extends ShiftInstruction with Product with Serializable

    Shift left int.

  164. case object ISHR extends ShiftInstruction with Product with Serializable

    Arithmetic shift right int.

  165. object ISTORE extends InstructionMetaInformation with Serializable
  166. case object ISTORE_0 extends StoreLocalVariableInstruction with ConstantIndexIStoreInstruction with Product with Serializable

    Store int into local variable with index 0.

  167. case object ISTORE_1 extends StoreLocalVariableInstruction with ConstantIndexIStoreInstruction with Product with Serializable

    Store int into local variable with index 1.

  168. case object ISTORE_2 extends StoreLocalVariableInstruction with ConstantIndexIStoreInstruction with Product with Serializable

    Store int into local variable with index 2.

  169. case object ISTORE_3 extends StoreLocalVariableInstruction with ConstantIndexIStoreInstruction with Product with Serializable

    Store int into local variable with index 3.

  170. case object ISUB extends SubtractInstruction with Product with Serializable

    Subtract int.

  171. object IStoreInstruction
  172. case object IUSHR extends ShiftInstruction with Product with Serializable

    Logical shift right int.

  173. case object IXOR extends BitwiseInstruction with Product with Serializable

    Boolean XOR int.

  174. object Instruction

    Functionality common to instructions.

  175. object InstructionLabel
  176. object JSR extends InstructionMetaInformation with Serializable

    Defines constants and factory methods.

  177. object JSRInstruction
  178. object JSR_W extends InstructionMetaInformation with Serializable

    Defines constants and factory methods.

  179. case object L2D extends NumericConversionInstruction with Product with Serializable

    Convert long to double.

  180. case object L2F extends NumericConversionInstruction with Product with Serializable

    Convert long to float.

  181. case object L2I extends NumericConversionInstruction with Product with Serializable

    Convert long to int.

  182. case object LADD extends AddInstruction with Product with Serializable

    Add long.

  183. case object LALOAD extends ArrayLoadInstruction with PrimitiveArrayAccess with Product with Serializable

    Load long from array.

  184. case object LAND extends BitwiseInstruction with Product with Serializable

    Boolean AND long.

  185. case object LASTORE extends PrimitiveArrayStoreInstruction with PrimitiveArrayAccess with Product with Serializable

    Store into long array.

  186. case object LCMP extends ComparisonInstruction with Product with Serializable

    Compare long.

  187. case object LCONST_0 extends LoadConstantInstruction[Long] with LConstInstruction with Product with Serializable

    Push the long constant 0 onto the operand stack.

  188. case object LCONST_1 extends LoadConstantInstruction[Long] with LConstInstruction with Product with Serializable

    Push the long constant 1 onto the operand stack.

  189. object LConstInstruction
  190. object LDC

    Defines factory and extractor methods for LDC instructions.

  191. object LDC2_W

    Defines factory and extractor methods for LDC2_W instructions.

  192. object LDCClass
  193. object LDCDynamic
  194. object LDCFloat
  195. object LDCInt
  196. object LDCMethodHandle
  197. object LDCMethodType
  198. object LDCString
  199. object LDC_W

    Defines factory and extractor methods for LDC_W instructions.

  200. case object LDIV extends IntegerDivideInstruction with Product with Serializable

    Divide long.

  201. object LLOAD extends InstructionMetaInformation with Serializable
  202. case object LLOAD_0 extends LoadLocalVariableInstruction with ConstantIndexLLoadInstruction with Product with Serializable

    Load long from local variable with index 0.

  203. case object LLOAD_1 extends LoadLocalVariableInstruction with ConstantIndexLLoadInstruction with Product with Serializable

    Load long from local variable with index 1.

  204. case object LLOAD_2 extends LoadLocalVariableInstruction with ConstantIndexLLoadInstruction with Product with Serializable

    Load long from local variable with index 2.

  205. case object LLOAD_3 extends LoadLocalVariableInstruction with ConstantIndexLLoadInstruction with Product with Serializable

    Load long from local variable with index 3.

  206. object LLoadInstruction
  207. case object LMUL extends MultiplyInstruction with Product with Serializable

    Multiply long.

  208. case object LNEG extends NegateInstruction with Product with Serializable

    Negate long.

  209. object LOOKUPSWITCH extends InstructionMetaInformation with Serializable

    Defines constants and factory methods.

  210. case object LOR extends BitwiseInstruction with Product with Serializable

    Boolean OR long.

  211. case object LREM extends IntegerRemainderInstruction with Product with Serializable

    Remainder long.

  212. case object LRETURN extends ReturnValueInstruction with Product with Serializable

    Return long from method.

  213. case object LSHL extends ShiftInstruction with Product with Serializable

    Shift left long.

  214. case object LSHR extends ShiftInstruction with Product with Serializable

    Arithmetic shift right long.

  215. object LSTORE extends InstructionMetaInformation with Serializable
  216. case object LSTORE_0 extends StoreLocalVariableInstruction with ConstantIndexLStoreInstruction with Product with Serializable

    Store long into local variable with index 0.

  217. case object LSTORE_1 extends StoreLocalVariableInstruction with ConstantIndexLStoreInstruction with Product with Serializable

    Store long into local variable with index 1.

  218. case object LSTORE_2 extends StoreLocalVariableInstruction with ConstantIndexLStoreInstruction with Product with Serializable

    Store long into local variable with index 2.

  219. case object LSTORE_3 extends StoreLocalVariableInstruction with ConstantIndexLStoreInstruction with Product with Serializable

    Store long into local variable with index 3.

  220. case object LSUB extends SubtractInstruction with Product with Serializable

    Subtract long.

  221. object LStoreInstruction
  222. case object LUSHR extends ShiftInstruction with Product with Serializable

    Logical shift right long.

  223. case object LXOR extends BitwiseInstruction with Product with Serializable

    Boolean XOR long.

  224. object LoadConstantInstruction

    Defines factory methods for LoadConstantInstructions.

  225. object LoadLocalVariableInstruction

    Defines a factory method for LoadLocalVariableInstructions.

  226. object LocalVariableAccess

    Defines an extractor to determine the local variable index accessed by the instruction.

  227. case object MONITORENTER extends SynchronizationInstruction with InstructionMetaInformation with Product with Serializable

    Enter monitor for object.

  228. case object MONITOREXIT extends SynchronizationInstruction with InstructionMetaInformation with Product with Serializable

    Exit monitor for object.

  229. object MULTIANEWARRAY extends Serializable

    General information and factory methods.

  230. object MethodCompletionInstruction
  231. object MethodInvocationInstruction

    Defines commonly used constants and an extractor method to match MethodInvocationInstruction instructions.

  232. object NEW extends InstructionMetaInformation with Serializable

    General information and factory methods.

  233. object NEWARRAY extends InstructionMetaInformation
  234. case object NOP extends ConstantLengthInstruction with NoLabels with InstructionMetaInformation with Product with Serializable

    Do nothing.

  235. case object NoExpression extends ExpressionResultLocation with Product with Serializable
  236. object NoMethodCompletionInstruction
  237. case object POP extends StackManagementInstruction with PopInstruction with Product with Serializable

    Pop the top operand stack value.

  238. 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.

  239. object PUTFIELD extends InstructionMetaInformation with Serializable

    General information and factory methods.

  240. object PUTSTATIC extends InstructionMetaInformation with Serializable

    General information and factory methods.

  241. object PrimitiveArrayAccess
  242. object RET extends InstructionMetaInformation with Serializable
  243. case object RETURN extends ReturnInstruction with Product with Serializable

    Return void from method.

  244. object ReturnInstruction

    Defines common values and a factory method to create a ReturnInstruction based on the expected type.

  245. object ReturnInstructions

    Defines extractor methods related to return instructions.

  246. object RewriteLabel extends Serializable
  247. case object SALOAD extends ArrayLoadInstruction with PrimitiveArrayAccess with Product with Serializable

    Load short from array.

  248. case object SASTORE extends PrimitiveArrayStoreInstruction with PrimitiveArrayAccess with Product with Serializable

    Store into short array.

  249. object SIPUSH extends InstructionMetaInformation with Serializable
  250. case object SWAP extends StackManagementInstruction with Product with Serializable

    Swap the top two operand stack values.

  251. object ShiftInstruction
  252. object SimpleConditionalBranchInstruction

    Extractor for SimpleConditionalBranchInstructions.

  253. case object Stack extends ExpressionResultLocation with Product with Serializable
  254. object StackBasedBinaryArithmeticInstruction
  255. object StoreLocalVariableInstruction

    Factory for StoreLocalVariableInstructions.

  256. object SwitchInstruction

    Extractor for SwitchInstructions.

  257. object SynchronizationInstruction
  258. object TABLESWITCH extends InstructionMetaInformation with Serializable

    Defines constants and factory methods.

  259. object UnaryArithmeticInstruction
  260. object UnconditionalBranchInstruction

    Extractor for UnconditionalBranchInstructions.

  261. object VirtualMethodInvocationInstruction
  262. case object WIDE extends Instruction with ConstantLengthInstruction with NoLabels with Product with Serializable

    Extend local variable index by additional bytes.

Inherited from AnyRef

Inherited from Any

Ungrouped