com.vladium.emma.instr
Class InstrVisitor.Branch

java.lang.Object
  extended bycom.vladium.emma.instr.InstrVisitor.Branch
Direct Known Subclasses:
InstrVisitor.IFJUMP2, InstrVisitor.JUMP2, InstrVisitor.JUMP4, InstrVisitor.LOOKUPSWITCH, InstrVisitor.RET, InstrVisitor.TABLESWITCH, InstrVisitor.TERMINATE
Enclosing class:
InstrVisitor

abstract static class InstrVisitor.Branch
extends java.lang.Object

A Branch does not add any maxlocals/maxstack requirements.


Field Summary
(package private)  byte m_opcode
           
(package private)  int m_parentBlockID
           
(package private)  int[] m_targets
           
 
Constructor Summary
protected InstrVisitor.Branch(int opcode, int[] targets)
           
 
Method Summary
(package private) abstract  void emit(InstrVisitor.EmitCtx ctx)
           
protected  void emitJumpOffset2(InstrVisitor.EmitCtx ctx, int ip, int targetBlockID)
           
protected  void emitJumpOffset4(InstrVisitor.EmitCtx ctx, int ip, int targetBlockID)
           
(package private)  int maxlength()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

m_opcode

final byte m_opcode

m_targets

final int[] m_targets

m_parentBlockID

int m_parentBlockID
Constructor Detail

InstrVisitor.Branch

protected InstrVisitor.Branch(int opcode,
                              int[] targets)
Method Detail

maxlength

int maxlength()

emit

abstract void emit(InstrVisitor.EmitCtx ctx)

emitJumpOffset2

protected final void emitJumpOffset2(InstrVisitor.EmitCtx ctx,
                                     int ip,
                                     int targetBlockID)

emitJumpOffset4

protected final void emitJumpOffset4(InstrVisitor.EmitCtx ctx,
                                     int ip,
                                     int targetBlockID)