Enum Class JVMInstr

java.lang.Object
java.lang.Enum<JVMInstr>
org.benf.cfr.reader.bytecode.opcode.JVMInstr
All Implemented Interfaces:
Serializable, Comparable<JVMInstr>, Constable

public enum JVMInstr extends Enum<JVMInstr>
  • Enum Constant Details

    • AALOAD

      public static final JVMInstr AALOAD
    • AASTORE

      public static final JVMInstr AASTORE
    • ACONST_NULL

      public static final JVMInstr ACONST_NULL
    • ALOAD

      public static final JVMInstr ALOAD
    • ALOAD_WIDE

      public static final JVMInstr ALOAD_WIDE
    • ALOAD_0

      public static final JVMInstr ALOAD_0
    • ALOAD_1

      public static final JVMInstr ALOAD_1
    • ALOAD_2

      public static final JVMInstr ALOAD_2
    • ALOAD_3

      public static final JVMInstr ALOAD_3
    • ANEWARRAY

      public static final JVMInstr ANEWARRAY
    • ARETURN

      public static final JVMInstr ARETURN
    • ARRAYLENGTH

      public static final JVMInstr ARRAYLENGTH
    • ASTORE

      public static final JVMInstr ASTORE
    • ASTORE_WIDE

      public static final JVMInstr ASTORE_WIDE
    • ASTORE_0

      public static final JVMInstr ASTORE_0
    • ASTORE_1

      public static final JVMInstr ASTORE_1
    • ASTORE_2

      public static final JVMInstr ASTORE_2
    • ASTORE_3

      public static final JVMInstr ASTORE_3
    • ATHROW

      public static final JVMInstr ATHROW
    • BALOAD

      public static final JVMInstr BALOAD
    • BASTORE

      public static final JVMInstr BASTORE
    • BIPUSH

      public static final JVMInstr BIPUSH
    • CALOAD

      public static final JVMInstr CALOAD
    • CASTORE

      public static final JVMInstr CASTORE
    • CHECKCAST

      public static final JVMInstr CHECKCAST
    • D2F

      public static final JVMInstr D2F
    • D2I

      public static final JVMInstr D2I
    • D2L

      public static final JVMInstr D2L
    • DADD

      public static final JVMInstr DADD
    • DALOAD

      public static final JVMInstr DALOAD
    • DASTORE

      public static final JVMInstr DASTORE
    • DCMPG

      public static final JVMInstr DCMPG
    • DCMPL

      public static final JVMInstr DCMPL
    • DCONST_0

      public static final JVMInstr DCONST_0
    • DCONST_1

      public static final JVMInstr DCONST_1
    • DDIV

      public static final JVMInstr DDIV
    • DLOAD

      public static final JVMInstr DLOAD
    • DLOAD_WIDE

      public static final JVMInstr DLOAD_WIDE
    • DLOAD_0

      public static final JVMInstr DLOAD_0
    • DLOAD_1

      public static final JVMInstr DLOAD_1
    • DLOAD_2

      public static final JVMInstr DLOAD_2
    • DLOAD_3

      public static final JVMInstr DLOAD_3
    • DMUL

      public static final JVMInstr DMUL
    • DNEG

      public static final JVMInstr DNEG
    • DREM

      public static final JVMInstr DREM
    • DRETURN

      public static final JVMInstr DRETURN
    • DSTORE

      public static final JVMInstr DSTORE
    • DSTORE_WIDE

      public static final JVMInstr DSTORE_WIDE
    • DSTORE_0

      public static final JVMInstr DSTORE_0
    • DSTORE_1

      public static final JVMInstr DSTORE_1
    • DSTORE_2

      public static final JVMInstr DSTORE_2
    • DSTORE_3

      public static final JVMInstr DSTORE_3
    • DSUB

      public static final JVMInstr DSUB
    • DUP

      public static final JVMInstr DUP
    • DUP_X1

      public static final JVMInstr DUP_X1
    • DUP_X2

      public static final JVMInstr DUP_X2
    • DUP2

      public static final JVMInstr DUP2
    • DUP2_X1

      public static final JVMInstr DUP2_X1
    • DUP2_X2

      public static final JVMInstr DUP2_X2
    • F2D

      public static final JVMInstr F2D
    • F2I

      public static final JVMInstr F2I
    • F2L

      public static final JVMInstr F2L
    • FADD

      public static final JVMInstr FADD
    • FALOAD

      public static final JVMInstr FALOAD
    • FASTORE

      public static final JVMInstr FASTORE
    • FCMPG

      public static final JVMInstr FCMPG
    • FCMPL

      public static final JVMInstr FCMPL
    • FCONST_0

      public static final JVMInstr FCONST_0
    • FCONST_1

      public static final JVMInstr FCONST_1
    • FCONST_2

      public static final JVMInstr FCONST_2
    • FDIV

      public static final JVMInstr FDIV
    • FLOAD

      public static final JVMInstr FLOAD
    • FLOAD_WIDE

      public static final JVMInstr FLOAD_WIDE
    • FLOAD_0

      public static final JVMInstr FLOAD_0
    • FLOAD_1

      public static final JVMInstr FLOAD_1
    • FLOAD_2

      public static final JVMInstr FLOAD_2
    • FLOAD_3

      public static final JVMInstr FLOAD_3
    • FMUL

      public static final JVMInstr FMUL
    • FNEG

      public static final JVMInstr FNEG
    • FREM

      public static final JVMInstr FREM
    • FRETURN

      public static final JVMInstr FRETURN
    • FSTORE

      public static final JVMInstr FSTORE
    • FSTORE_WIDE

      public static final JVMInstr FSTORE_WIDE
    • FSTORE_0

      public static final JVMInstr FSTORE_0
    • FSTORE_1

      public static final JVMInstr FSTORE_1
    • FSTORE_2

      public static final JVMInstr FSTORE_2
    • FSTORE_3

      public static final JVMInstr FSTORE_3
    • FSUB

      public static final JVMInstr FSUB
    • GETFIELD

      public static final JVMInstr GETFIELD
    • GETSTATIC

      public static final JVMInstr GETSTATIC
    • GOTO

      public static final JVMInstr GOTO
    • GOTO_W

      public static final JVMInstr GOTO_W
    • I2B

      public static final JVMInstr I2B
    • I2C

      public static final JVMInstr I2C
    • I2D

      public static final JVMInstr I2D
    • I2F

      public static final JVMInstr I2F
    • I2L

      public static final JVMInstr I2L
    • I2S

      public static final JVMInstr I2S
    • IADD

      public static final JVMInstr IADD
    • IALOAD

      public static final JVMInstr IALOAD
    • IAND

      public static final JVMInstr IAND
    • IASTORE

      public static final JVMInstr IASTORE
    • ICONST_M1

      public static final JVMInstr ICONST_M1
    • ICONST_0

      public static final JVMInstr ICONST_0
    • ICONST_1

      public static final JVMInstr ICONST_1
    • ICONST_2

      public static final JVMInstr ICONST_2
    • ICONST_3

      public static final JVMInstr ICONST_3
    • ICONST_4

      public static final JVMInstr ICONST_4
    • ICONST_5

      public static final JVMInstr ICONST_5
    • IDIV

      public static final JVMInstr IDIV
    • IF_ACMPEQ

      public static final JVMInstr IF_ACMPEQ
    • IF_ACMPNE

      public static final JVMInstr IF_ACMPNE
    • IF_ICMPEQ

      public static final JVMInstr IF_ICMPEQ
    • IF_ICMPNE

      public static final JVMInstr IF_ICMPNE
    • IF_ICMPLT

      public static final JVMInstr IF_ICMPLT
    • IF_ICMPGE

      public static final JVMInstr IF_ICMPGE
    • IF_ICMPGT

      public static final JVMInstr IF_ICMPGT
    • IF_ICMPLE

      public static final JVMInstr IF_ICMPLE
    • IFEQ

      public static final JVMInstr IFEQ
    • IFNE

      public static final JVMInstr IFNE
    • IFLT

      public static final JVMInstr IFLT
    • IFGE

      public static final JVMInstr IFGE
    • IFGT

      public static final JVMInstr IFGT
    • IFLE

      public static final JVMInstr IFLE
    • IFNONNULL

      public static final JVMInstr IFNONNULL
    • IFNULL

      public static final JVMInstr IFNULL
    • IINC

      public static final JVMInstr IINC
    • IINC_WIDE

      public static final JVMInstr IINC_WIDE
    • ILOAD

      public static final JVMInstr ILOAD
    • ILOAD_WIDE

      public static final JVMInstr ILOAD_WIDE
    • ILOAD_0

      public static final JVMInstr ILOAD_0
    • ILOAD_1

      public static final JVMInstr ILOAD_1
    • ILOAD_2

      public static final JVMInstr ILOAD_2
    • ILOAD_3

      public static final JVMInstr ILOAD_3
    • IMUL

      public static final JVMInstr IMUL
    • INEG

      public static final JVMInstr INEG
    • INSTANCEOF

      public static final JVMInstr INSTANCEOF
    • INVOKEDYNAMIC

      public static final JVMInstr INVOKEDYNAMIC
    • INVOKEINTERFACE

      public static final JVMInstr INVOKEINTERFACE
    • INVOKESPECIAL

      public static final JVMInstr INVOKESPECIAL
    • INVOKESTATIC

      public static final JVMInstr INVOKESTATIC
    • INVOKEVIRTUAL

      public static final JVMInstr INVOKEVIRTUAL
    • IOR

      public static final JVMInstr IOR
    • IREM

      public static final JVMInstr IREM
    • IRETURN

      public static final JVMInstr IRETURN
    • ISHL

      public static final JVMInstr ISHL
    • ISHR

      public static final JVMInstr ISHR
    • ISTORE

      public static final JVMInstr ISTORE
    • ISTORE_WIDE

      public static final JVMInstr ISTORE_WIDE
    • ISTORE_0

      public static final JVMInstr ISTORE_0
    • ISTORE_1

      public static final JVMInstr ISTORE_1
    • ISTORE_2

      public static final JVMInstr ISTORE_2
    • ISTORE_3

      public static final JVMInstr ISTORE_3
    • ISUB

      public static final JVMInstr ISUB
    • IUSHR

      public static final JVMInstr IUSHR
    • IXOR

      public static final JVMInstr IXOR
    • JSR

      public static final JVMInstr JSR
    • JSR_W

      public static final JVMInstr JSR_W
    • L2D

      public static final JVMInstr L2D
    • L2F

      public static final JVMInstr L2F
    • L2I

      public static final JVMInstr L2I
    • LADD

      public static final JVMInstr LADD
    • LALOAD

      public static final JVMInstr LALOAD
    • LAND

      public static final JVMInstr LAND
    • LASTORE

      public static final JVMInstr LASTORE
    • LCMP

      public static final JVMInstr LCMP
    • LCONST_0

      public static final JVMInstr LCONST_0
    • LCONST_1

      public static final JVMInstr LCONST_1
    • LDC

      public static final JVMInstr LDC
    • LDC_W

      public static final JVMInstr LDC_W
    • LDC2_W

      public static final JVMInstr LDC2_W
    • LDIV

      public static final JVMInstr LDIV
    • LLOAD

      public static final JVMInstr LLOAD
    • LLOAD_WIDE

      public static final JVMInstr LLOAD_WIDE
    • LLOAD_0

      public static final JVMInstr LLOAD_0
    • LLOAD_1

      public static final JVMInstr LLOAD_1
    • LLOAD_2

      public static final JVMInstr LLOAD_2
    • LLOAD_3

      public static final JVMInstr LLOAD_3
    • LMUL

      public static final JVMInstr LMUL
    • LNEG

      public static final JVMInstr LNEG
    • LOOKUPSWITCH

      public static final JVMInstr LOOKUPSWITCH
    • LOR

      public static final JVMInstr LOR
    • LREM

      public static final JVMInstr LREM
    • LRETURN

      public static final JVMInstr LRETURN
    • LSHL

      public static final JVMInstr LSHL
    • LSHR

      public static final JVMInstr LSHR
    • LSTORE

      public static final JVMInstr LSTORE
    • LSTORE_WIDE

      public static final JVMInstr LSTORE_WIDE
    • LSTORE_0

      public static final JVMInstr LSTORE_0
    • LSTORE_1

      public static final JVMInstr LSTORE_1
    • LSTORE_2

      public static final JVMInstr LSTORE_2
    • LSTORE_3

      public static final JVMInstr LSTORE_3
    • LSUB

      public static final JVMInstr LSUB
    • LUSHR

      public static final JVMInstr LUSHR
    • LXOR

      public static final JVMInstr LXOR
    • MONITORENTER

      public static final JVMInstr MONITORENTER
    • MONITOREXIT

      public static final JVMInstr MONITOREXIT
    • MULTIANEWARRAY

      public static final JVMInstr MULTIANEWARRAY
    • NEW

      public static final JVMInstr NEW
    • NEWARRAY

      public static final JVMInstr NEWARRAY
    • NOP

      public static final JVMInstr NOP
    • POP

      public static final JVMInstr POP
    • POP2

      public static final JVMInstr POP2
    • PUTFIELD

      public static final JVMInstr PUTFIELD
    • PUTSTATIC

      public static final JVMInstr PUTSTATIC
    • RET

      public static final JVMInstr RET
    • RET_WIDE

      public static final JVMInstr RET_WIDE
    • RETURN

      public static final JVMInstr RETURN
    • SALOAD

      public static final JVMInstr SALOAD
    • SASTORE

      public static final JVMInstr SASTORE
    • SIPUSH

      public static final JVMInstr SIPUSH
    • SWAP

      public static final JVMInstr SWAP
    • TABLESWITCH

      public static final JVMInstr TABLESWITCH
    • WIDE

      public static final JVMInstr WIDE
    • FAKE_TRY

      public static final JVMInstr FAKE_TRY
    • FAKE_CATCH

      public static final JVMInstr FAKE_CATCH
  • Field Details

    • opcode

      private final int opcode
    • bytes

      private final int bytes
    • stackPopped

      private final StackTypes stackPopped
    • stackPushed

      private final StackTypes stackPushed
    • rawJavaType

      private final RawJavaType rawJavaType
    • name

      private final String name
    • handler

      private final OperationFactory handler
    • noThrow

      private final boolean noThrow
    • opcodeLookup

      private static final Map<Integer,JVMInstr> opcodeLookup
  • Constructor Details

  • Method Details

    • values

      public static JVMInstr[] values()
      Returns an array containing the constants of this enum class, in the order they are declared.
      Returns:
      an array containing the constants of this enum class, in the order they are declared
    • valueOf

      public static JVMInstr valueOf(String name)
      Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)
      Parameters:
      name - the name of the enum constant to be returned.
      Returns:
      the enum constant with the specified name
      Throws:
      IllegalArgumentException - if this enum class has no constant with the specified name
      NullPointerException - if the argument is null
    • getOpcode

      public int getOpcode()
    • getName

      public String getName()
    • find

      public static JVMInstr find(int opcode)
    • getRawLength

      protected int getRawLength()
    • getRawStackPushed

      public StackTypes getRawStackPushed()
    • getRawStackPopped

      public StackTypes getRawStackPopped()
    • getStackDelta

      public StackDelta getStackDelta(byte[] data, ConstantPoolEntry[] constantPoolEntries, StackSim stackSim, Method method)
    • createOperation

      public Op01WithProcessedDataAndByteJumps createOperation(ByteData bd, ConstantPool cp, int offset)
    • getRawJavaType

      public RawJavaType getRawJavaType()
    • isNoThrow

      public boolean isNoThrow()
    • isAStore

      public static boolean isAStore(JVMInstr instr)