railo.transformer.bytecode.statement
Class TryCatchFinally

java.lang.Object
  extended by railo.transformer.bytecode.statement.StatementBase
      extended by railo.transformer.bytecode.statement.TryCatchFinally
All Implemented Interfaces:
org.objectweb.asm.Opcodes, Statement, HasBodies

public final class TryCatchFinally
extends StatementBase
implements org.objectweb.asm.Opcodes, HasBodies

produce try-catch-finally


Field Summary
static org.objectweb.asm.commons.Method IS_ABORT
           
 
Fields inherited from interface org.objectweb.asm.Opcodes
AALOAD, AASTORE, ACC_ABSTRACT, ACC_ANNOTATION, ACC_BRIDGE, ACC_DEPRECATED, ACC_ENUM, ACC_FINAL, ACC_INTERFACE, ACC_NATIVE, ACC_PRIVATE, ACC_PROTECTED, ACC_PUBLIC, ACC_STATIC, ACC_STRICT, ACC_SUPER, ACC_SYNCHRONIZED, ACC_SYNTHETIC, ACC_TRANSIENT, ACC_VARARGS, ACC_VOLATILE, ACONST_NULL, ALOAD, ANEWARRAY, ARETURN, ARRAYLENGTH, ASTORE, ATHROW, BALOAD, BASTORE, BIPUSH, CALOAD, CASTORE, CHECKCAST, D2F, D2I, D2L, DADD, DALOAD, DASTORE, DCMPG, DCMPL, DCONST_0, DCONST_1, DDIV, DLOAD, DMUL, DNEG, DREM, DRETURN, DSTORE, 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, FMUL, FNEG, FREM, FRETURN, FSTORE, FSUB, GETFIELD, GETSTATIC, GOTO, 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, IMUL, INEG, INSTANCEOF, INVOKEINTERFACE, INVOKESPECIAL, INVOKESTATIC, INVOKEVIRTUAL, IOR, IREM, IRETURN, ISHL, ISHR, ISTORE, ISUB, IUSHR, IXOR, JSR, L2D, L2F, L2I, LADD, LALOAD, LAND, LASTORE, LCMP, LCONST_0, LCONST_1, LDC, LDIV, LLOAD, LMUL, LNEG, LOOKUPSWITCH, LOR, LREM, LRETURN, LSHL, LSHR, LSTORE, LSUB, LUSHR, LXOR, MONITORENTER, MONITOREXIT, MULTIANEWARRAY, NEW, NEWARRAY, NOP, POP, POP2, PUTFIELD, PUTSTATIC, RET, RETURN, SALOAD, SASTORE, SIPUSH, SWAP, T_BOOLEAN, T_BYTE, T_CHAR, T_DOUBLE, T_FLOAT, T_INT, T_LONG, T_SHORT, TABLESWITCH, V1_1, V1_2, V1_3, V1_4, V1_5, V1_6
 
Constructor Summary
TryCatchFinally(Body body, int startline, int endline)
          Constructor of the class
 
Method Summary
 void _writeOut(BytecodeContext bc)
          write out the stament to the adater
 void addCatch(Expression type, Expression name, Body b, int line)
           
 void addCatch(ExprString type, VariableRef name, Body body, int line)
           
 Body[] getBodies()
           
 void setFinally(Body body, int finallyLine)
          sets finally body
 
Methods inherited from class railo.transformer.bytecode.statement.StatementBase
getDescendantCount, getEndLine, getLine, getParent, getStartLine, hasFlowController, setEndLine, setHasFlowController, setLine, setParent, setStartLine, writeOut
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

IS_ABORT

public static final org.objectweb.asm.commons.Method IS_ABORT
Constructor Detail

TryCatchFinally

public TryCatchFinally(Body body,
                       int startline,
                       int endline)
Constructor of the class

Parameters:
body -
line -
Method Detail

setFinally

public void setFinally(Body body,
                       int finallyLine)
sets finally body

Parameters:
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)

addCatch

public void addCatch(ExprString type,
                     VariableRef name,
                     Body body,
                     int line)
Parameters:
type -
name -
body -
line -

addCatch

public void addCatch(Expression type,
                     Expression name,
                     Body b,
                     int line)
              throws BytecodeException
Parameters:
type -
name -
b -
line -
Throws:
BytecodeException

getBodies

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


Copyright © 2012 Railo