fr.umlv.corosol.classfile.bytecode
Interface JBytecodeParser

All Known Implementing Classes:
DefaultJBytecodeParser

public interface JBytecodeParser

The bytecode parser class allows an application to parse a bytecode array into a set of opcodes and their operands.

Author:
Christophe Deleray

Field Summary
static int AALOAD
          The aaload instruction opcode.
static int AASTORE
          The aastore instruction opcode.
static int ACONST_NULL
          The aconst_null instruction opcode.
static int ALOAD
          The aload instruction opcode.
static int ALOAD_0
          The aload_0 instruction opcode.
static int ALOAD_1
          The aload_1 instruction opcode.
static int ALOAD_2
          The aload_2 instruction opcode.
static int ALOAD_3
          The aload_3 instruction opcode.
static int ANEWARRAY
          The anewarray instruction opcode.
static int ARETURN
          The areturn instruction opcode.
static int ARRAYLENGTH
          The arraylength instruction opcode.
static int ASTORE
          The astore instruction opcode.
static int ASTORE_0
          The astore_0 instruction opcode.
static int ASTORE_1
          The astore_0 instruction opcode.
static int ASTORE_2
          The astore_0 instruction opcode.
static int ASTORE_3
          The astore_0 instruction opcode.
static int ATHROW
          The athrow instruction opcode.
static int BALOAD
          The baload instruction opcode.
static int BASTORE
          The bastore instruction opcode.
static int BIPUSH
          The bipush instruction opcode.
static int CALOAD
          The caload instruction opcode.
static int CASTORE
          The castore instruction opcode.
static int CHECKCAST
          The checkcast instruction opcode.
static int D2F
          The d2f instruction opcode.
static int D2I
          The d2i instruction opcode.
static int D2L
          The d2i instruction opcode.
static int DADD
          The dadd instruction opcode.
static int DALOAD
          The daload instruction opcode.
static int DASTORE
          The dastore instruction opcode.
static int DCMPG
          The dcmpg instruction opcode.
static int DCMPL
          The dcmpl instruction opcode.
static int DCONST_0
          The dconst_0 instruction opcode.
static int DCONST_1
          The dconst_1 instruction opcode.
static int DDIV
          The ddiv instruction opcode.
static int DLOAD
          The dload instruction opcode.
static int DLOAD_0
          The dload_0 instruction opcode.
static int DLOAD_1
          The dload_1 instruction opcode.
static int DLOAD_2
          The dload_2 instruction opcode.
static int DLOAD_3
          The dload_3 instruction opcode.
static int DMUL
          The dmul instruction opcode.
static int DNEG
          The dneg instruction opcode.
static int DREM
          The drem instruction opcode.
static int DRETURN
          The dreturn instruction opcode.
static int DSTORE
          The dstore instruction opcode.
static int DSTORE_0
          The dstore_0 instruction opcode.
static int DSTORE_1
          The dstore_1 instruction opcode.
static int DSTORE_2
          The dstore_2 instruction opcode.
static int DSTORE_3
          The dstore_3 instruction opcode.
static int DSUB
          The dsub instruction opcode.
static int DUP
          The dup instruction opcode.
static int DUP_X1
          The dup_x1 instruction opcode.
static int DUP_X2
          The dup_x2 instruction opcode.
static int DUP2
          The dup2 instruction opcode.
static int DUP2_X1
          The dup2_x1 instruction opcode.
static int DUP2_X2
          The dup2_x2 instruction opcode.
static int F2D
          The f2d instruction opcode.
static int F2I
          The f2i instruction opcode.
static int F2L
          The f2l instruction opcode.
static int FADD
          The fadd instruction opcode.
static int FALOAD
          The faload instruction opcode.
static int FASTORE
          The fastore instruction opcode.
static int FCMPG
          The fcmpg instruction opcode.
static int FCMPL
          The fcmpl instruction opcode.
static int FCONST_0
          The fconst_0 instruction opcode.
static int FCONST_1
          The fconst_1 instruction opcode.
static int FCONST_2
          The fconst_2 instruction opcode.
static int FDIV
          The fdiv instruction opcode.
static int FLOAD
          The fload instruction opcode.
static int FLOAD_0
          The fload_0 instruction opcode.
static int FLOAD_1
          The fload_1 instruction opcode.
static int FLOAD_2
          The fload_2 instruction opcode.
static int FLOAD_3
          The fload_3 instruction opcode.
static int FMUL
          The fmul instruction opcode.
static int FNEG
          The fneg instruction opcode.
static int FREM
          The frem instruction opcode.
static int FRETURN
          The freturn instruction opcode.
static int FSTORE
          The fstore instruction opcode.
static int FSTORE_0
          The fstore_0 instruction opcode.
static int FSTORE_1
          The fstore_1 instruction opcode.
static int FSTORE_2
          The fstore_2 instruction opcode.
static int FSTORE_3
          The fstore_3 instruction opcode.
static int FSUB
          The fsub instruction opcode.
static int GETFIELD
          The getfield instruction opcode.
static int GETSTATIC
          The getstatic instruction opcode.
static int GOTO
          The goto instruction opcode.
static int GOTO_W
          The goto_w instruction opcode.
static int I2B
          The i2b instruction opcode.
static int I2C
          The i2c instruction opcode.
static int I2D
          The i2d instruction opcode.
static int I2F
          The i2f instruction opcode.
static int I2L
          The i2l instruction opcode.
static int I2S
          The i2s instruction opcode.
static int IADD
          The iadd instruction opcode.
static int IALOAD
          The iaload instruction opcode.
static int IAND
          The iand instruction opcode.
static int IASTORE
          The iastore instruction opcode.
static int ICONST_0
          The iconst_0 instruction opcode.
static int ICONST_1
          The iconst_1 instruction opcode.
static int ICONST_2
          The iconst_2 instruction opcode.
static int ICONST_3
          The iconst_3 instruction opcode.
static int ICONST_4
          The iconst_4 instruction opcode.
static int ICONST_5
          The iconst_5 instruction opcode.
static int ICONST_M1
          The iconst_m1 instruction opcode.
static int IDIV
          The idiv instruction opcode.
static int IF_ACMPEQ
          The if_acmpeq instruction opcode.
static int IF_ACMPNE
          The if_acmpne instruction opcode.
static int IF_ICMPEQ
          The if_icmpeq instruction opcode.
static int IF_ICMPGE
          The if_icmpge instruction opcode.
static int IF_ICMPGT
          The if_icmpgt instruction opcode.
static int IF_ICMPLE
          The if_icmple instruction opcode.
static int IF_ICMPLT
          The if_icmplt instruction opcode.
static int IF_ICMPNE
          The if_icmpne instruction opcode.
static int IFEQ
          The ifeq instruction opcode.
static int IFGE
          The ifge instruction opcode.
static int IFGT
          The ifgt instruction opcode.
static int IFLE
          The ifle instruction opcode.
static int IFLT
          The iflt instruction opcode.
static int IFNE
          The ifne instruction opcode.
static int IFNONNULL
          The ifnonnull instruction opcode.
static int IFNULL
          The ifnullinstruction opcode.
static int IINC
          The iinc instruction opcode.
static int ILOAD
          The iload instruction opcode.
static int ILOAD_0
          The iload_0 instruction opcode.
static int ILOAD_1
          The iload_1 instruction opcode.
static int ILOAD_2
          The iload_2 instruction opcode.
static int ILOAD_3
          The iload_3 instruction opcode.
static int IMUL
          The imul instruction opcode.
static int INEG
          The ineg instruction opcode.
static int INSTANCEOF
          The instanceof instruction opcode.
static int INVOKEINTERFACE
          The invokeinterface instruction opcode.
static int INVOKESPECIAL
          The invokespecial instruction opcode.
static int INVOKESTATIC
          The invokestatic instruction opcode.
static int INVOKEVIRTUAL
          The invokevirtual instruction opcode.
static int IOR
          The ior instruction opcode.
static int IREM
          The irem instruction opcode.
static int IRETURN
          The ireturn instruction opcode.
static int ISHL
          The ishl instruction opcode.
static int ISHR
          The ishr instruction opcode.
static int ISTORE
          The istore instruction opcode.
static int ISTORE_0
          The istore_0 instruction opcode.
static int ISTORE_1
          The istore_1 instruction opcode.
static int ISTORE_2
          The istore_2 instruction opcode.
static int ISTORE_3
          The istore_3 instruction opcode.
static int ISUB
          The isub instruction opcode.
static int IUSHR
          The iushr instruction opcode.
static int IXOR
          The ixor instruction opcode.
static int JSR
          The jsr instruction opcode.
static int JSR_W
          The jsr_w instruction opcode.
static int L2D
          The l2d instruction opcode.
static int L2F
          The l2f instruction opcode.
static int L2I
          The l2i instruction opcode.
static int LADD
          The ladd instruction opcode.
static int LALOAD
          The laload instruction opcode.
static int LAND
          The land instruction opcode.
static int LASTORE
          The lastore instruction opcode.
static int LCMP
          The lcmp instruction opcode.
static int LCONST_0
          The lconst_0 instruction opcode.
static int LCONST_1
          The lconst_1 instruction opcode.
static int LDC
          The ldc instruction opcode.
static int LDC_W
          The ldc_w instruction opcode.
static int LDC2_W
          The ldc2_w instruction opcode.
static int LDIV
          The ldiv instruction opcode.
static int LLOAD
          The lload instruction opcode.
static int LLOAD_0
          The lload_0 instruction opcode.
static int LLOAD_1
          The lload_1 instruction opcode.
static int LLOAD_2
          The lload_2 instruction opcode.
static int LLOAD_3
          The lload_3 instruction opcode.
static int LMUL
          The lmul instruction opcode.
static int LNEG
          The lneg instruction opcode.
static int LOOKUPSWITCH
          The lookupswitch instruction opcode.
static int LOR
          The lor instruction opcode.
static int LREM
          The lrem instruction opcode.
static int LRETURN
          The lreturn instruction opcode.
static int LSHL
          The lshl instruction opcode.
static int LSHR
          The lshr instruction opcode.
static int LSTORE
          The lstore instruction opcode.
static int LSTORE_0
          The lstore_0 instruction opcode.
static int LSTORE_1
          The lstore_1 instruction opcode.
static int LSTORE_2
          The lstore_2 instruction opcode.
static int LSTORE_3
          The lstore_3 instruction opcode.
static int LSUB
          The lsub instruction opcode.
static int LUSHR
          The lushr instruction opcode.
static int LXOR
          The lxor instruction opcode.
static int MONITORENTER
          The monitorenter instruction opcode.
static int MONITOREXIT
          The monitorexit instruction opcode.
static int MULTIANEWARRAY
          The multianewarray instruction opcode.
static int NEW
          The new instruction opcode.
static int NEWARRAY
          The newarray instruction opcode.
static int NOP
          The nop instruction opcode.
static int POP
          The pop instruction opcode.
static int POP2
          The pop2 instruction opcode.
static int PUTFIELD
          The putfield instruction opcode.
static int PUTSTATIC
          The putstatic instruction opcode.
static int RET
          The ret instruction opcode.
static int RETURN
          The return instruction opcode.
static int SALOAD
          The saload instruction opcode.
static int SASTORE
          The sastore instruction opcode.
static int SIPUSH
          The sipush instruction opcode.
static int SWAP
          The swap instruction opcode.
static int TABLESWITCH
          The tableswitch instruction opcode.
static int WIDE
          The wide instruction opcode.
 
Method Summary
 void fillInput(byte[] b, int off, int len)
          Resets the bytecode parsing and initializes it with the len bytes of the specified bytes array, starting at the off position.
 java.lang.String getMnemonic()
          Returns the mnemonic of the next instruction opcode read from this bytecode parser.
 int getOpcodeCount()
          Calculates the number of times that this bytecode parser's nextOpcode method can be called before it generates an exception.
 int getOperandCount()
          Returns the number of operands of the current instruction read with the nextOpcode method.
 int getPosition()
          Returns the current opcode position in the bytecodes flow.
 boolean hasMoreOpcode()
          Tests if there are more instruction opcode available from this bytecode parser.
 int nextOpcode()
          Returns the next instruction opcode read from this bytecode parser.
 int readOperands(byte[] b, int off, int len)
          Reads up to len operand of the current instruction, read with the nextOpcode method, into an array of bytes.
 

Field Detail

NOP

static final int NOP
The nop instruction opcode.

See Also:
Constant Field Values

ACONST_NULL

static final int ACONST_NULL
The aconst_null instruction opcode.

See Also:
Constant Field Values

ICONST_M1

static final int ICONST_M1
The iconst_m1 instruction opcode.

See Also:
Constant Field Values

ICONST_0

static final int ICONST_0
The iconst_0 instruction opcode.

See Also:
Constant Field Values

ICONST_1

static final int ICONST_1
The iconst_1 instruction opcode.

See Also:
Constant Field Values

ICONST_2

static final int ICONST_2
The iconst_2 instruction opcode.

See Also:
Constant Field Values

ICONST_3

static final int ICONST_3
The iconst_3 instruction opcode.

See Also:
Constant Field Values

ICONST_4

static final int ICONST_4
The iconst_4 instruction opcode.

See Also:
Constant Field Values

ICONST_5

static final int ICONST_5
The iconst_5 instruction opcode.

See Also:
Constant Field Values

LCONST_0

static final int LCONST_0
The lconst_0 instruction opcode.

See Also:
Constant Field Values

LCONST_1

static final int LCONST_1
The lconst_1 instruction opcode.

See Also:
Constant Field Values

FCONST_0

static final int FCONST_0
The fconst_0 instruction opcode.

See Also:
Constant Field Values

FCONST_1

static final int FCONST_1
The fconst_1 instruction opcode.

See Also:
Constant Field Values

FCONST_2

static final int FCONST_2
The fconst_2 instruction opcode.

See Also:
Constant Field Values

DCONST_0

static final int DCONST_0
The dconst_0 instruction opcode.

See Also:
Constant Field Values

DCONST_1

static final int DCONST_1
The dconst_1 instruction opcode.

See Also:
Constant Field Values

BIPUSH

static final int BIPUSH
The bipush instruction opcode.

See Also:
Constant Field Values

SIPUSH

static final int SIPUSH
The sipush instruction opcode.

See Also:
Constant Field Values

LDC

static final int LDC
The ldc instruction opcode.

See Also:
Constant Field Values

LDC_W

static final int LDC_W
The ldc_w instruction opcode.

See Also:
Constant Field Values

LDC2_W

static final int LDC2_W
The ldc2_w instruction opcode.

See Also:
Constant Field Values

ILOAD

static final int ILOAD
The iload instruction opcode.

See Also:
Constant Field Values

LLOAD

static final int LLOAD
The lload instruction opcode.

See Also:
Constant Field Values

FLOAD

static final int FLOAD
The fload instruction opcode.

See Also:
Constant Field Values

DLOAD

static final int DLOAD
The dload instruction opcode.

See Also:
Constant Field Values

ALOAD

static final int ALOAD
The aload instruction opcode.

See Also:
Constant Field Values

ILOAD_0

static final int ILOAD_0
The iload_0 instruction opcode.

See Also:
Constant Field Values

ILOAD_1

static final int ILOAD_1
The iload_1 instruction opcode.

See Also:
Constant Field Values

ILOAD_2

static final int ILOAD_2
The iload_2 instruction opcode.

See Also:
Constant Field Values

ILOAD_3

static final int ILOAD_3
The iload_3 instruction opcode.

See Also:
Constant Field Values

LLOAD_0

static final int LLOAD_0
The lload_0 instruction opcode.

See Also:
Constant Field Values

LLOAD_1

static final int LLOAD_1
The lload_1 instruction opcode.

See Also:
Constant Field Values

LLOAD_2

static final int LLOAD_2
The lload_2 instruction opcode.

See Also:
Constant Field Values

LLOAD_3

static final int LLOAD_3
The lload_3 instruction opcode.

See Also:
Constant Field Values

FLOAD_0

static final int FLOAD_0
The fload_0 instruction opcode.

See Also:
Constant Field Values

FLOAD_1

static final int FLOAD_1
The fload_1 instruction opcode.

See Also:
Constant Field Values

FLOAD_2

static final int FLOAD_2
The fload_2 instruction opcode.

See Also:
Constant Field Values

FLOAD_3

static final int FLOAD_3
The fload_3 instruction opcode.

See Also:
Constant Field Values

DLOAD_0

static final int DLOAD_0
The dload_0 instruction opcode.

See Also:
Constant Field Values

DLOAD_1

static final int DLOAD_1
The dload_1 instruction opcode.

See Also:
Constant Field Values

DLOAD_2

static final int DLOAD_2
The dload_2 instruction opcode.

See Also:
Constant Field Values

DLOAD_3

static final int DLOAD_3
The dload_3 instruction opcode.

See Also:
Constant Field Values

ALOAD_0

static final int ALOAD_0
The aload_0 instruction opcode.

See Also:
Constant Field Values

ALOAD_1

static final int ALOAD_1
The aload_1 instruction opcode.

See Also:
Constant Field Values

ALOAD_2

static final int ALOAD_2
The aload_2 instruction opcode.

See Also:
Constant Field Values

ALOAD_3

static final int ALOAD_3
The aload_3 instruction opcode.

See Also:
Constant Field Values

IALOAD

static final int IALOAD
The iaload instruction opcode.

See Also:
Constant Field Values

LALOAD

static final int LALOAD
The laload instruction opcode.

See Also:
Constant Field Values

FALOAD

static final int FALOAD
The faload instruction opcode.

See Also:
Constant Field Values

DALOAD

static final int DALOAD
The daload instruction opcode.

See Also:
Constant Field Values

AALOAD

static final int AALOAD
The aaload instruction opcode.

See Also:
Constant Field Values

BALOAD

static final int BALOAD
The baload instruction opcode.

See Also:
Constant Field Values

CALOAD

static final int CALOAD
The caload instruction opcode.

See Also:
Constant Field Values

SALOAD

static final int SALOAD
The saload instruction opcode.

See Also:
Constant Field Values

ISTORE

static final int ISTORE
The istore instruction opcode.

See Also:
Constant Field Values

LSTORE

static final int LSTORE
The lstore instruction opcode.

See Also:
Constant Field Values

FSTORE

static final int FSTORE
The fstore instruction opcode.

See Also:
Constant Field Values

DSTORE

static final int DSTORE
The dstore instruction opcode.

See Also:
Constant Field Values

ASTORE

static final int ASTORE
The astore instruction opcode.

See Also:
Constant Field Values

ISTORE_0

static final int ISTORE_0
The istore_0 instruction opcode.

See Also:
Constant Field Values

ISTORE_1

static final int ISTORE_1
The istore_1 instruction opcode.

See Also:
Constant Field Values

ISTORE_2

static final int ISTORE_2
The istore_2 instruction opcode.

See Also:
Constant Field Values

ISTORE_3

static final int ISTORE_3
The istore_3 instruction opcode.

See Also:
Constant Field Values

LSTORE_0

static final int LSTORE_0
The lstore_0 instruction opcode.

See Also:
Constant Field Values

LSTORE_1

static final int LSTORE_1
The lstore_1 instruction opcode.

See Also:
Constant Field Values

LSTORE_2

static final int LSTORE_2
The lstore_2 instruction opcode.

See Also:
Constant Field Values

LSTORE_3

static final int LSTORE_3
The lstore_3 instruction opcode.

See Also:
Constant Field Values

FSTORE_0

static final int FSTORE_0
The fstore_0 instruction opcode.

See Also:
Constant Field Values

FSTORE_1

static final int FSTORE_1
The fstore_1 instruction opcode.

See Also:
Constant Field Values

FSTORE_2

static final int FSTORE_2
The fstore_2 instruction opcode.

See Also:
Constant Field Values

FSTORE_3

static final int FSTORE_3
The fstore_3 instruction opcode.

See Also:
Constant Field Values

DSTORE_0

static final int DSTORE_0
The dstore_0 instruction opcode.

See Also:
Constant Field Values

DSTORE_1

static final int DSTORE_1
The dstore_1 instruction opcode.

See Also:
Constant Field Values

DSTORE_2

static final int DSTORE_2
The dstore_2 instruction opcode.

See Also:
Constant Field Values

DSTORE_3

static final int DSTORE_3
The dstore_3 instruction opcode.

See Also:
Constant Field Values

ASTORE_0

static final int ASTORE_0
The astore_0 instruction opcode.

See Also:
Constant Field Values

ASTORE_1

static final int ASTORE_1
The astore_0 instruction opcode.

See Also:
Constant Field Values

ASTORE_2

static final int ASTORE_2
The astore_0 instruction opcode.

See Also:
Constant Field Values

ASTORE_3

static final int ASTORE_3
The astore_0 instruction opcode.

See Also:
Constant Field Values

IASTORE

static final int IASTORE
The iastore instruction opcode.

See Also:
Constant Field Values

LASTORE

static final int LASTORE
The lastore instruction opcode.

See Also:
Constant Field Values

FASTORE

static final int FASTORE
The fastore instruction opcode.

See Also:
Constant Field Values

DASTORE

static final int DASTORE
The dastore instruction opcode.

See Also:
Constant Field Values

AASTORE

static final int AASTORE
The aastore instruction opcode.

See Also:
Constant Field Values

BASTORE

static final int BASTORE
The bastore instruction opcode.

See Also:
Constant Field Values

CASTORE

static final int CASTORE
The castore instruction opcode.

See Also:
Constant Field Values

SASTORE

static final int SASTORE
The sastore instruction opcode.

See Also:
Constant Field Values

POP

static final int POP
The pop instruction opcode.

See Also:
Constant Field Values

POP2

static final int POP2
The pop2 instruction opcode.

See Also:
Constant Field Values

DUP

static final int DUP
The dup instruction opcode.

See Also:
Constant Field Values

DUP_X1

static final int DUP_X1
The dup_x1 instruction opcode.

See Also:
Constant Field Values

DUP_X2

static final int DUP_X2
The dup_x2 instruction opcode.

See Also:
Constant Field Values

DUP2

static final int DUP2
The dup2 instruction opcode.

See Also:
Constant Field Values

DUP2_X1

static final int DUP2_X1
The dup2_x1 instruction opcode.

See Also:
Constant Field Values

DUP2_X2

static final int DUP2_X2
The dup2_x2 instruction opcode.

See Also:
Constant Field Values

SWAP

static final int SWAP
The swap instruction opcode.

See Also:
Constant Field Values

IADD

static final int IADD
The iadd instruction opcode.

See Also:
Constant Field Values

LADD

static final int LADD
The ladd instruction opcode.

See Also:
Constant Field Values

FADD

static final int FADD
The fadd instruction opcode.

See Also:
Constant Field Values

DADD

static final int DADD
The dadd instruction opcode.

See Also:
Constant Field Values

ISUB

static final int ISUB
The isub instruction opcode.

See Also:
Constant Field Values

LSUB

static final int LSUB
The lsub instruction opcode.

See Also:
Constant Field Values

FSUB

static final int FSUB
The fsub instruction opcode.

See Also:
Constant Field Values

DSUB

static final int DSUB
The dsub instruction opcode.

See Also:
Constant Field Values

IMUL

static final int IMUL
The imul instruction opcode.

See Also:
Constant Field Values

LMUL

static final int LMUL
The lmul instruction opcode.

See Also:
Constant Field Values

FMUL

static final int FMUL
The fmul instruction opcode.

See Also:
Constant Field Values

DMUL

static final int DMUL
The dmul instruction opcode.

See Also:
Constant Field Values

IDIV

static final int IDIV
The idiv instruction opcode.

See Also:
Constant Field Values

LDIV

static final int LDIV
The ldiv instruction opcode.

See Also:
Constant Field Values

FDIV

static final int FDIV
The fdiv instruction opcode.

See Also:
Constant Field Values

DDIV

static final int DDIV
The ddiv instruction opcode.

See Also:
Constant Field Values

IREM

static final int IREM
The irem instruction opcode.

See Also:
Constant Field Values

LREM

static final int LREM
The lrem instruction opcode.

See Also:
Constant Field Values

FREM

static final int FREM
The frem instruction opcode.

See Also:
Constant Field Values

DREM

static final int DREM
The drem instruction opcode.

See Also:
Constant Field Values

INEG

static final int INEG
The ineg instruction opcode.

See Also:
Constant Field Values

LNEG

static final int LNEG
The lneg instruction opcode.

See Also:
Constant Field Values

FNEG

static final int FNEG
The fneg instruction opcode.

See Also:
Constant Field Values

DNEG

static final int DNEG
The dneg instruction opcode.

See Also:
Constant Field Values

ISHL

static final int ISHL
The ishl instruction opcode.

See Also:
Constant Field Values

LSHL

static final int LSHL
The lshl instruction opcode.

See Also:
Constant Field Values

ISHR

static final int ISHR
The ishr instruction opcode.

See Also:
Constant Field Values

LSHR

static final int LSHR
The lshr instruction opcode.

See Also:
Constant Field Values

IUSHR

static final int IUSHR
The iushr instruction opcode.

See Also:
Constant Field Values

LUSHR

static final int LUSHR
The lushr instruction opcode.

See Also:
Constant Field Values

IAND

static final int IAND
The iand instruction opcode.

See Also:
Constant Field Values

LAND

static final int LAND
The land instruction opcode.

See Also:
Constant Field Values

IOR

static final int IOR
The ior instruction opcode.

See Also:
Constant Field Values

LOR

static final int LOR
The lor instruction opcode.

See Also:
Constant Field Values

IXOR

static final int IXOR
The ixor instruction opcode.

See Also:
Constant Field Values

LXOR

static final int LXOR
The lxor instruction opcode.

See Also:
Constant Field Values

IINC

static final int IINC
The iinc instruction opcode.

See Also:
Constant Field Values

I2L

static final int I2L
The i2l instruction opcode.

See Also:
Constant Field Values

I2F

static final int I2F
The i2f instruction opcode.

See Also:
Constant Field Values

I2D

static final int I2D
The i2d instruction opcode.

See Also:
Constant Field Values

L2I

static final int L2I
The l2i instruction opcode.

See Also:
Constant Field Values

L2F

static final int L2F
The l2f instruction opcode.

See Also:
Constant Field Values

L2D

static final int L2D
The l2d instruction opcode.

See Also:
Constant Field Values

F2I

static final int F2I
The f2i instruction opcode.

See Also:
Constant Field Values

F2L

static final int F2L
The f2l instruction opcode.

See Also:
Constant Field Values

F2D

static final int F2D
The f2d instruction opcode.

See Also:
Constant Field Values

D2I

static final int D2I
The d2i instruction opcode.

See Also:
Constant Field Values

D2L

static final int D2L
The d2i instruction opcode.

See Also:
Constant Field Values

D2F

static final int D2F
The d2f instruction opcode.

See Also:
Constant Field Values

I2B

static final int I2B
The i2b instruction opcode.

See Also:
Constant Field Values

I2C

static final int I2C
The i2c instruction opcode.

See Also:
Constant Field Values

I2S

static final int I2S
The i2s instruction opcode.

See Also:
Constant Field Values

LCMP

static final int LCMP
The lcmp instruction opcode.

See Also:
Constant Field Values

FCMPL

static final int FCMPL
The fcmpl instruction opcode.

See Also:
Constant Field Values

FCMPG

static final int FCMPG
The fcmpg instruction opcode.

See Also:
Constant Field Values

DCMPL

static final int DCMPL
The dcmpl instruction opcode.

See Also:
Constant Field Values

DCMPG

static final int DCMPG
The dcmpg instruction opcode.

See Also:
Constant Field Values

IFEQ

static final int IFEQ
The ifeq instruction opcode.

See Also:
Constant Field Values

IFNE

static final int IFNE
The ifne instruction opcode.

See Also:
Constant Field Values

IFLT

static final int IFLT
The iflt instruction opcode.

See Also:
Constant Field Values

IFGE

static final int IFGE
The ifge instruction opcode.

See Also:
Constant Field Values

IFGT

static final int IFGT
The ifgt instruction opcode.

See Also:
Constant Field Values

IFLE

static final int IFLE
The ifle instruction opcode.

See Also:
Constant Field Values

IF_ICMPEQ

static final int IF_ICMPEQ
The if_icmpeq instruction opcode.

See Also:
Constant Field Values

IF_ICMPNE

static final int IF_ICMPNE
The if_icmpne instruction opcode.

See Also:
Constant Field Values

IF_ICMPLT

static final int IF_ICMPLT
The if_icmplt instruction opcode.

See Also:
Constant Field Values

IF_ICMPGE

static final int IF_ICMPGE
The if_icmpge instruction opcode.

See Also:
Constant Field Values

IF_ICMPGT

static final int IF_ICMPGT
The if_icmpgt instruction opcode.

See Also:
Constant Field Values

IF_ICMPLE

static final int IF_ICMPLE
The if_icmple instruction opcode.

See Also:
Constant Field Values

IF_ACMPEQ

static final int IF_ACMPEQ
The if_acmpeq instruction opcode.

See Also:
Constant Field Values

IF_ACMPNE

static final int IF_ACMPNE
The if_acmpne instruction opcode.

See Also:
Constant Field Values

GOTO

static final int GOTO
The goto instruction opcode.

See Also:
Constant Field Values

JSR

static final int JSR
The jsr instruction opcode.

See Also:
Constant Field Values

RET

static final int RET
The ret instruction opcode.

See Also:
Constant Field Values

TABLESWITCH

static final int TABLESWITCH
The tableswitch instruction opcode.

See Also:
Constant Field Values

LOOKUPSWITCH

static final int LOOKUPSWITCH
The lookupswitch instruction opcode.

See Also:
Constant Field Values

IRETURN

static final int IRETURN
The ireturn instruction opcode.

See Also:
Constant Field Values

LRETURN

static final int LRETURN
The lreturn instruction opcode.

See Also:
Constant Field Values

FRETURN

static final int FRETURN
The freturn instruction opcode.

See Also:
Constant Field Values

DRETURN

static final int DRETURN
The dreturn instruction opcode.

See Also:
Constant Field Values

ARETURN

static final int ARETURN
The areturn instruction opcode.

See Also:
Constant Field Values

RETURN

static final int RETURN
The return instruction opcode.

See Also:
Constant Field Values

GETSTATIC

static final int GETSTATIC
The getstatic instruction opcode.

See Also:
Constant Field Values

PUTSTATIC

static final int PUTSTATIC
The putstatic instruction opcode.

See Also:
Constant Field Values

GETFIELD

static final int GETFIELD
The getfield instruction opcode.

See Also:
Constant Field Values

PUTFIELD

static final int PUTFIELD
The putfield instruction opcode.

See Also:
Constant Field Values

INVOKEVIRTUAL

static final int INVOKEVIRTUAL
The invokevirtual instruction opcode.

See Also:
Constant Field Values

INVOKESPECIAL

static final int INVOKESPECIAL
The invokespecial instruction opcode.

See Also:
Constant Field Values

INVOKESTATIC

static final int INVOKESTATIC
The invokestatic instruction opcode.

See Also:
Constant Field Values

INVOKEINTERFACE

static final int INVOKEINTERFACE
The invokeinterface instruction opcode.

See Also:
Constant Field Values

NEW

static final int NEW
The new instruction opcode.

See Also:
Constant Field Values

NEWARRAY

static final int NEWARRAY
The newarray instruction opcode.

See Also:
Constant Field Values

ANEWARRAY

static final int ANEWARRAY
The anewarray instruction opcode.

See Also:
Constant Field Values

ARRAYLENGTH

static final int ARRAYLENGTH
The arraylength instruction opcode.

See Also:
Constant Field Values

ATHROW

static final int ATHROW
The athrow instruction opcode.

See Also:
Constant Field Values

CHECKCAST

static final int CHECKCAST
The checkcast instruction opcode.

See Also:
Constant Field Values

INSTANCEOF

static final int INSTANCEOF
The instanceof instruction opcode.

See Also:
Constant Field Values

MONITORENTER

static final int MONITORENTER
The monitorenter instruction opcode.

See Also:
Constant Field Values

MONITOREXIT

static final int MONITOREXIT
The monitorexit instruction opcode.

See Also:
Constant Field Values

WIDE

static final int WIDE
The wide instruction opcode.

See Also:
Constant Field Values

MULTIANEWARRAY

static final int MULTIANEWARRAY
The multianewarray instruction opcode.

See Also:
Constant Field Values

IFNULL

static final int IFNULL
The ifnullinstruction opcode.

See Also:
Constant Field Values

IFNONNULL

static final int IFNONNULL
The ifnonnull instruction opcode.

See Also:
Constant Field Values

GOTO_W

static final int GOTO_W
The goto_w instruction opcode.

See Also:
Constant Field Values

JSR_W

static final int JSR_W
The jsr_w instruction opcode.

See Also:
Constant Field Values
Method Detail

hasMoreOpcode

boolean hasMoreOpcode()
Tests if there are more instruction opcode available from this bytecode parser. If this method returns true, then a subsequent call to nextOpcode with no argument will successfully return an instruction opcode.

Returns:
true if and only if there is at least one opcode in the bytecode after the current position; false otherwise.

nextOpcode

int nextOpcode()
Returns the next instruction opcode read from this bytecode parser. If this instruction has operands, they can be read with the readOperands method.

Returns:
the next instruction opcode from this bytecode parser
Throws:
java.util.NoSuchElementException - if there are no more instruction opcode in this bytecode parser
See Also:
readOperands(byte[], int, int)

getMnemonic

java.lang.String getMnemonic()
Returns the mnemonic of the next instruction opcode read from this bytecode parser. This method does not change the instruction opcodes flow.

Returns:
the mnemonic of the instruction opcode read from this bytecode parser

getPosition

int getPosition()
Returns the current opcode position in the bytecodes flow.


readOperands

int readOperands(byte[] b,
                 int off,
                 int len)
Reads up to len operand of the current instruction, read with the nextOpcode method, into an array of bytes. An attempt is made to read as many as len operand bytes, but a smaller number may be read, possibly zero if the current instruction is without operand. The number of operands actually read is returned as an integer.

Parameters:
b - the buffer into which the operands are read.
off - the start offset in array b at which the operands are written
len - the maximum number of operands to read
Returns:
the total number of bytes read into the buffer

getOpcodeCount

int getOpcodeCount()
Calculates the number of times that this bytecode parser's nextOpcode method can be called before it generates an exception. The current position is not advanced.

Returns:
the number of instructions opcode remaining in the bytecode

getOperandCount

int getOperandCount()
Returns the number of operands of the current instruction read with the nextOpcode method.

Returns:
the number of operands of the current instruction

fillInput

void fillInput(byte[] b,
               int off,
               int len)
Resets the bytecode parsing and initializes it with the len bytes of the specified bytes array, starting at the off position.

Parameters:
b - the bytecode of a method
off - the start offset in array b at which the parsing is processed
len - the maximum number of bytes to analyse