railo.transformer.bytecode.statement
Class Function

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

public final class Function
extends StatementBase
implements org.objectweb.asm.Opcodes, IFunction, HasBody


Field Summary
 
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
 
Fields inherited from interface railo.transformer.bytecode.statement.IFunction
PAGE_TYPE_COMPONENT, PAGE_TYPE_INTERFACE, PAGE_TYPE_REGULAR
 
Constructor Summary
Function(Expression name, Expression returnType, Expression returnFormat, Expression output, Expression abstr, int access, Expression displayName, Expression description, Expression hint, Expression secureJson, Expression verifyClient, Body body, int startline, int endline)
           
Function(String name, int access, String returnType, Body body, int startline, int endline)
           
 
Method Summary
 void _writeOut(BytecodeContext bc)
          write out the stament to the adater
 void _writeOut(BytecodeContext bc, int pageType)
           
 void addArgument(Expression name, Expression type, Expression required, Expression defaultValue, ExprBoolean passByReference, Expression displayName, Expression hint, Map meta)
           
 void addArgument(String name, String type, boolean required, Expression defaultValue)
           
 void addAttribute(Attribute attr)
           
 void createUDFProperties(BytecodeContext bc, int index, boolean onlyProps)
           
 List getArguments()
           
 Body getBody()
           
 void loadUDF(BytecodeContext bc, int index)
           
 void loadUDF(BytecodeContext bc, int index, boolean onlyProps)
           
 void setHint(String hint)
           
 void setMetaData(Map<String,Attribute> metadata)
           
 void writeOut(BytecodeContext bc, int type)
           
 
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
 

Constructor Detail

Function

public Function(String name,
                int access,
                String returnType,
                Body body,
                int startline,
                int endline)

Function

public Function(Expression name,
                Expression returnType,
                Expression returnFormat,
                Expression output,
                Expression abstr,
                int access,
                Expression displayName,
                Expression description,
                Expression hint,
                Expression secureJson,
                Expression verifyClient,
                Body body,
                int startline,
                int endline)
Method Detail

writeOut

public void writeOut(BytecodeContext bc,
                     int type)
              throws BytecodeException
Specified by:
writeOut in interface IFunction
Throws:
BytecodeException
See Also:
IFunction.writeOut(railo.transformer.bytecode.BytecodeContext, int)

_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:
StatementBase._writeOut(railo.transformer.bytecode.BytecodeContext)

_writeOut

public void _writeOut(BytecodeContext bc,
                      int pageType)
               throws BytecodeException
Throws:
BytecodeException

loadUDF

public void loadUDF(BytecodeContext bc,
                    int index,
                    boolean onlyProps)
             throws BytecodeException
Throws:
BytecodeException

createUDFProperties

public void createUDFProperties(BytecodeContext bc,
                                int index,
                                boolean onlyProps)
                         throws BytecodeException
Throws:
BytecodeException

loadUDF

public void loadUDF(BytecodeContext bc,
                    int index)
             throws BytecodeException
Throws:
BytecodeException

addArgument

public void addArgument(String name,
                        String type,
                        boolean required,
                        Expression defaultValue)

addArgument

public void addArgument(Expression name,
                        Expression type,
                        Expression required,
                        Expression defaultValue,
                        ExprBoolean passByReference,
                        Expression displayName,
                        Expression hint,
                        Map meta)

getArguments

public List getArguments()
Returns:
the arguments

getBody

public Body getBody()
Specified by:
getBody in interface HasBody
Returns:
the body

setMetaData

public void setMetaData(Map<String,Attribute> metadata)

setHint

public void setHint(String hint)

addAttribute

public void addAttribute(Attribute attr)
                  throws TemplateException
Throws:
TemplateException


Copyright © 2012 Railo