jasm.lang
Class Bytecode.Branch

java.lang.Object
  extended by jasm.lang.Bytecode
      extended by jasm.lang.Bytecode.Branch
Direct Known Subclasses:
Bytecode.Goto, Bytecode.If, Bytecode.IfCmp
Enclosing class:
Bytecode

public abstract static class Bytecode.Branch
extends Bytecode

This class abstracts different kinds of branching statements (e.g. goto, ifacmp, etc). It probably should abstract switches as well, although it currently doesn't,


Nested Class Summary
 
Nested classes/interfaces inherited from class jasm.lang.Bytecode
Bytecode.ArrayLength, Bytecode.ArrayLoad, Bytecode.ArrayStore, Bytecode.BinOp, Bytecode.Branch, Bytecode.CheckCast, Bytecode.Cmp, Bytecode.Conversion, Bytecode.Dup, Bytecode.DupX1, Bytecode.DupX2, Bytecode.FieldMode, Bytecode.GetField, Bytecode.Goto, Bytecode.If, Bytecode.IfCmp, Bytecode.IfMode, Bytecode.Iinc, Bytecode.InstanceOf, Bytecode.Invoke, Bytecode.InvokeMode, Bytecode.Label, Bytecode.Load, Bytecode.LoadConst, Bytecode.MonitorEnter, Bytecode.MonitorExit, Bytecode.Neg, Bytecode.New, Bytecode.Nop, Bytecode.Pop, Bytecode.PutField, Bytecode.Return, Bytecode.Store, Bytecode.Swap, Bytecode.Switch, Bytecode.Throw
 
Field Summary
 boolean islong
           
 java.lang.String label
           
 
Fields inherited from class jasm.lang.Bytecode
AALOAD, AASTORE, ACONST_NULL, ALOAD, ALOAD_0, ALOAD_1, ALOAD_2, ALOAD_3, ANEWARRAY, ARETURN, ARRAYLENGTH, ASTORE, ASTORE_0, ASTORE_1, ASTORE_2, ASTORE_3, ATHROW, BALOAD, BASTORE, BIPUSH, BREAKPOINT, CALOAD, CASTORE, CHECKCAST, D2F, D2I, D2L, DADD, DALOAD, DASTORE, DCMPG, DCMPL, DCONST_0, DCONST_1, DDIV, DLOAD, DLOAD_0, DLOAD_1, DLOAD_2, DLOAD_3, DMUL, DNEG, DREM, DRETURN, DSTORE, DSTORE_0, DSTORE_1, DSTORE_2, DSTORE_3, DSUB, DUP, DUP_X1, DUP_X2, DUP2, DUP2_X1, DUP2_X2, F2D, F2I, F2L, FADD, FALOAD, FASTORE, FCMPG, FCMPL, FCONST_0, FCONST_1, FCONST_2, FDIV, FLOAD, FLOAD_0, FLOAD_1, FLOAD_2, FLOAD_3, FMUL, FNEG, FREM, FRETURN, FSTORE, FSTORE_0, FSTORE_1, FSTORE_2, FSTORE_3, FSUB, GETFIELD, GETSTATIC, GOTO, GOTO_W, I2B, I2C, I2D, I2F, I2L, I2S, IADD, IALOAD, IAND, IASTORE, ICONST_0, ICONST_1, ICONST_2, ICONST_3, ICONST_4, ICONST_5, ICONST_M1, IDIV, IF_ACMPEQ, IF_ACMPNE, IF_ICMPEQ, IF_ICMPGE, IF_ICMPGT, IF_ICMPLE, IF_ICMPLT, IF_ICMPNE, IFEQ, IFGE, IFGT, IFLE, IFLT, IFNE, IFNONNULL, IFNULL, IINC, ILOAD, ILOAD_0, ILOAD_1, ILOAD_2, ILOAD_3, IMPDEP1, IMPDEP2, IMUL, INEG, INSTANCEOF, INVOKEINTERFACE, INVOKESPECIAL, INVOKESTATIC, INVOKEVIRTUAL, IOR, IREM, IRETURN, ISHL, ISHR, ISTORE, ISTORE_0, ISTORE_1, ISTORE_2, ISTORE_3, ISUB, IUSHR, IXOR, JSR, JSR_W, L2D, L2F, L2I, LADD, LALOAD, LAND, LASTORE, LCMP, LCONST_0, LCONST_1, LDC, LDC_W, LDC2_W, LDIV, LLOAD, LLOAD_0, LLOAD_1, LLOAD_2, LLOAD_3, LMUL, LNEG, LOOKUPSWITCH, LOR, LREM, LRETURN, LSHL, LSHR, LSTORE, LSTORE_0, LSTORE_1, LSTORE_2, LSTORE_3, LSUB, LUSHR, LXOR, MONITORENTER, MONITOREXIT, MULTIANEWARRAY, NEW, NEWARRAY, NOP, POP, POP2, PUTFIELD, PUTSTATIC, RET, RETURN, SALOAD, SASTORE, SIPUSH, SWAP, switchcomp, T_BOOLEAN, T_BYTE, T_CHAR, T_DOUBLE, T_FLOAT, T_INT, T_LONG, T_SHORT, TABLESWITCH, UNUSED, WIDE
 
Constructor Summary
Bytecode.Branch(java.lang.String label)
           
Bytecode.Branch(java.lang.String label, boolean islong)
           
 
Method Summary
abstract  Bytecode.Branch fixLong()
           
 
Methods inherited from class jasm.lang.Bytecode
addPoolItems, get, stackDiff, toBytes
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

label

public final java.lang.String label

islong

public final boolean islong
Constructor Detail

Bytecode.Branch

public Bytecode.Branch(java.lang.String label)

Bytecode.Branch

public Bytecode.Branch(java.lang.String label,
                       boolean islong)
Method Detail

fixLong

public abstract Bytecode.Branch fixLong()


Copyright © 2013 David J. Pearce. All Rights Reserved.