Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

com.chaoswg.xtc4y.classdesc.code.instructions
Class JumpInstruction  view JumpInstruction download JumpInstruction.java

java.lang.Object
  extended bycom.chaoswg.xtc4y.classdesc.code.instructions.Instruction
      extended bycom.chaoswg.xtc4y.classdesc.code.instructions.WideBinaryInstruction
          extended bycom.chaoswg.xtc4y.classdesc.code.instructions.JumpInstruction

public class JumpInstruction
extends WideBinaryInstruction

a jump instruction refers to another instruction if expression evaluates to true


Field Summary
static byte GOTO
          unconditional jump
static byte GOTO_W
          a wide goto jump
static byte IF_ACMPEQ
          Jump if the last to objects on the stack are equals
static byte IF_ACMPNE
          Jump if the last to objects on the stack are not equals
static byte IF_ICMPEQ
          Jump if the last to int value on the stack are equals
static byte IF_ICMPGE
          Jump if the second last int value on the stack is greater or equals the last one
static byte IF_ICMPGT
          Jump if the second last int value on the stack is greater than the last one
static byte IF_ICMPLE
          Jump if the second last int value on the stack is lower or equals the last one
static byte IF_ICMPLT
          Jump if the second last int value on the stack is lower than the last one
static byte IF_ICMPNE
          Jump if the last to int value on the stack are not equals
static byte IFEQ
          Jump if the last two value on the stack are equals
static byte IFGE
          Jump if the second last value on the stack is greater or equals the last one
static byte IFGT
          Jump if the second last value on the stack is greater than the last one
static byte IFLE
          Jump if the second last value on the stack is lower or equals the last one
static byte IFLT
          Jump if the second last value on the stack is lower than the last one
static byte IFNE
          Jump if the last two value on the stack are not equals
static byte IFNONNULL
          jump if not null
static byte IFNULL
          jump if null
static byte JSR
          jump to subroutine
static byte JSR_W
          a wide jsr jump
private  Instruction target
           
private  short targetIndex
           
 
Fields inherited from class com.chaoswg.xtc4y.classdesc.code.instructions.WideBinaryInstruction
NEWARRAY, SIPUSH
 
Fields inherited from class com.chaoswg.xtc4y.classdesc.code.instructions.Instruction
 
Constructor Summary
protected JumpInstruction(byte command, java.io.DataInputStream dis, com.chaoswg.xtc4y.classdesc.ConstantPool cp)
          Creates an JumpInstruction and initializes it from a DataInputStream
  JumpInstruction(byte command, Instruction target)
          Create a new jump instruction with a command and the target instruction to jump as operand
 
Method Summary
protected  short getOperand(com.chaoswg.xtc4y.classdesc.ConstantPool cp)
          Get index of instruction
protected  void handleOperand(short operand, com.chaoswg.xtc4y.classdesc.ConstantPool cp)
          Store the index for a later resolving
 void resolveIndices(com.chaoswg.xtc4y.classdesc.code.Code code)
          Resolve indices of instructions.
 
Methods inherited from class com.chaoswg.xtc4y.classdesc.code.instructions.WideBinaryInstruction
getNumberOfUsedBytes, toString, write
 
Methods inherited from class com.chaoswg.xtc4y.classdesc.code.instructions.Instruction
getCommand, getIndex, getOpcode, setIndex
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

target

private Instruction target

targetIndex

private short targetIndex

IFEQ

public static final byte IFEQ
Jump if the last two value on the stack are equals

See Also:
Constant Field Values

IFNE

public static final byte IFNE
Jump if the last two value on the stack are not equals

See Also:
Constant Field Values

IFLT

public static final byte IFLT
Jump if the second last value on the stack is lower than the last one

See Also:
Constant Field Values

IFGE

public static final byte IFGE
Jump if the second last value on the stack is greater or equals the last one

See Also:
Constant Field Values

IFGT

public static final byte IFGT
Jump if the second last value on the stack is greater than the last one

See Also:
Constant Field Values

IFLE

public static final byte IFLE
Jump if the second last value on the stack is lower or equals the last one

See Also:
Constant Field Values

IF_ICMPEQ

public static final byte IF_ICMPEQ
Jump if the last to int value on the stack are equals

See Also:
Constant Field Values

IF_ICMPNE

public static final byte IF_ICMPNE
Jump if the last to int value on the stack are not equals

See Also:
Constant Field Values

IF_ICMPLT

public static final byte IF_ICMPLT
Jump if the second last int value on the stack is lower than the last one

See Also:
Constant Field Values

IF_ICMPGE

public static final byte IF_ICMPGE
Jump if the second last int value on the stack is greater or equals the last one

See Also:
Constant Field Values

IF_ICMPGT

public static final byte IF_ICMPGT
Jump if the second last int value on the stack is greater than the last one

See Also:
Constant Field Values

IF_ICMPLE

public static final byte IF_ICMPLE
Jump if the second last int value on the stack is lower or equals the last one

See Also:
Constant Field Values

IF_ACMPEQ

public static final byte IF_ACMPEQ
Jump if the last to objects on the stack are equals

See Also:
Constant Field Values

IF_ACMPNE

public static final byte IF_ACMPNE
Jump if the last to objects on the stack are not equals

See Also:
Constant Field Values

GOTO

public static final byte GOTO
unconditional jump

See Also:
Constant Field Values

JSR

public static final byte JSR
jump to subroutine

See Also:
Constant Field Values

IFNULL

public static final byte IFNULL
jump if null

See Also:
Constant Field Values

IFNONNULL

public static final byte IFNONNULL
jump if not null

See Also:
Constant Field Values

GOTO_W

public static final byte GOTO_W
a wide goto jump

See Also:
Constant Field Values

JSR_W

public static final byte JSR_W
a wide jsr jump

See Also:
Constant Field Values
Constructor Detail

JumpInstruction

protected JumpInstruction(byte command,
                          java.io.DataInputStream dis,
                          com.chaoswg.xtc4y.classdesc.ConstantPool cp)
                   throws java.io.IOException
Creates an JumpInstruction and initializes it from a DataInputStream


JumpInstruction

public JumpInstruction(byte command,
                       Instruction target)
Create a new jump instruction with a command and the target instruction to jump as operand

Method Detail

handleOperand

protected final void handleOperand(short operand,
                                   com.chaoswg.xtc4y.classdesc.ConstantPool cp)
Store the index for a later resolving

Overrides:
handleOperand in class WideBinaryInstruction

resolveIndices

public void resolveIndices(com.chaoswg.xtc4y.classdesc.code.Code code)
Resolve indices of instructions.

Overrides:
resolveIndices in class Instruction

getOperand

protected final short getOperand(com.chaoswg.xtc4y.classdesc.ConstantPool cp)
Get index of instruction

Overrides:
getOperand in class WideBinaryInstruction