railo.transformer.bytecode.statement
Class NativeSwitch

java.lang.Object
  extended by railo.transformer.bytecode.statement.StatementBase
      extended by railo.transformer.bytecode.statement.StatementBaseNoFinal
          extended by railo.transformer.bytecode.statement.NativeSwitch
All Implemented Interfaces:
Statement, FlowControl, FlowControlBreak, FlowControlContinue, HasBodies

public final class NativeSwitch
extends StatementBaseNoFinal
implements FlowControlBreak, FlowControlContinue, HasBodies


Field Summary
static short ARG_REF
           
static short LOCAL_REF
           
static short PRIMITIVE
           
 
Fields inherited from interface railo.transformer.bytecode.statement.FlowControl
BREAK, CONTINUE, RETRY
 
Constructor Summary
NativeSwitch(int value, short type, Position start, Position end)
           
 
Method Summary
 void _writeOut(BytecodeContext bc)
          write out the stament to the adater
 void addCase(int value, Statement body, Position start, Position end, boolean doBreak)
           
 void addDefaultCase(Statement defaultStatement)
           
 Body[] getBodies()
           
 org.objectweb.asm.Label getBreakLabel()
           
 org.objectweb.asm.Label getContinueLabel()
           
 String getLabel()
           
 
Methods inherited from class railo.transformer.bytecode.statement.StatementBaseNoFinal
getFlowControlFinal
 
Methods inherited from class railo.transformer.bytecode.statement.StatementBase
getDescendantCount, getEnd, getParent, getStart, hasFlowController, setEnd, setHasFlowController, setParent, setStart, writeOut
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

LOCAL_REF

public static final short LOCAL_REF
See Also:
Constant Field Values

ARG_REF

public static final short ARG_REF
See Also:
Constant Field Values

PRIMITIVE

public static final short PRIMITIVE
See Also:
Constant Field Values
Constructor Detail

NativeSwitch

public NativeSwitch(int value,
                    short type,
                    Position start,
                    Position end)
Method Detail

_writeOut

public void _writeOut(BytecodeContext bc)
               throws BytecodeException
Description copied from class: StatementBase
write out the stament to the adater

Specified by:
_writeOut in class StatementBase
Throws:
BytecodeException

addCase

public void addCase(int value,
                    Statement body,
                    Position start,
                    Position end,
                    boolean doBreak)

addDefaultCase

public void addDefaultCase(Statement defaultStatement)

getBreakLabel

public org.objectweb.asm.Label getBreakLabel()
Specified by:
getBreakLabel in interface FlowControlBreak
See Also:
railo.transformer.bytecode.statement.FlowControl#getBreakLabel()

getContinueLabel

public org.objectweb.asm.Label getContinueLabel()
Specified by:
getContinueLabel in interface FlowControlContinue
See Also:
railo.transformer.bytecode.statement.FlowControl#getContinueLabel()

getBodies

public Body[] getBodies()
Specified by:
getBodies in interface HasBodies
See Also:
HasBodies.getBodies()

getLabel

public String getLabel()
Specified by:
getLabel in interface FlowControl


Copyright © 2012 Railo