railo.transformer.bytecode.statement
Class Switch

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

public final class Switch
extends StatementBaseNoFinal
implements FlowControlBreak, HasBodies


Nested Class Summary
 class Switch.Case
           
 
Field Summary
 
Fields inherited from interface railo.transformer.bytecode.statement.FlowControl
BREAK, CONTINUE, RETRY
 
Constructor Summary
Switch(Expression expr, Position start, Position end)
           
 
Method Summary
 void _writeOut(BytecodeContext bc)
          write out the stament to the adater
 void addCase(Expression expr, Body body)
           
 void addCase(Expression expr, Body body, Position start, Position end)
           
 Body[] getBodies()
           
 org.objectweb.asm.Label getBreakLabel()
           
 org.objectweb.asm.Label getContinueLabel()
           
 String getLabel()
           
 void setDefaultCase(Body body)
           
 
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
 

Constructor Detail

Switch

public Switch(Expression expr,
              Position start,
              Position end)
Method Detail

addCase

public void addCase(Expression expr,
                    Body body)

addCase

public void addCase(Expression expr,
                    Body body,
                    Position start,
                    Position end)

setDefaultCase

public void setDefaultCase(Body body)

_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
See Also:
railo.transformer.bytecode.statement.StatementBase#_writeOut(org.objectweb.asm.commons.GeneratorAdapter)

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()
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