Package org.mvel2.ast
Class Function
- java.lang.Object
-
- org.mvel2.ast.ASTNode
-
- org.mvel2.ast.Function
-
- All Implemented Interfaces:
Serializable,Cloneable,HasStatement,Safe
public class Function extends ASTNode implements Safe, HasStatement
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected ExecutableStatementcompiledBlockprotected booleancompiledModeprotected Stringnameprotected String[]parametersprotected intparmNumprotected booleansingleton-
Fields inherited from class org.mvel2.ast.ASTNode
accessor, ARRAY_TYPE_LITERAL, ASSIGN, BLOCK_DO, BLOCK_DO_UNTIL, BLOCK_FOR, BLOCK_FOREACH, BLOCK_IF, BLOCK_SWITCH, BLOCK_UNTIL, BLOCK_WHILE, BLOCK_WITH, COLLECTION, COMPILE_IMMEDIATE, cursorPosition, DEEP_PROPERTY, DEFERRED_TYPE_RES, DEOP, DISCARD, egressType, endOfName, expr, fields, firstUnion, FQCN, IDENTIFIER, INLINE_COLLECTION, INVERT, literal, LITERAL, nameCache, nextASTNode, NOJIT, NUMERIC, offset, OPERATOR, OPT_SUBTR, pCtx, PCTX_STORED, safeAccessor, STACKLANG, start, STRONG_TYPING, THISREF
-
-
Constructor Summary
Constructors Constructor Description Function(String name, char[] expr, int start, int offset, int blockStart, int blockOffset, int fields, ParserContext pCtx)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Objectcall(Object ctx, ExecutionContext execCtx, Object thisValue, VariableResolverFactory factory, Object[] parms)voidcheckArgumentCount(int passing)ExecutableStatementgetCompiledBlock()StringgetName()String[]getParameters()ObjectgetReducedValue(Object ctx, Object thisValue, VariableResolverFactory factory)ObjectgetReducedValueAccelerated(Object ctx, Object thisValue, VariableResolverFactory factory)ExecutableStatementgetStatement()booleanhasParameters()voidsetName(String name)StringtoString()-
Methods inherited from class org.mvel2.ast.ASTNode
canSerializeAccessor, checkArray, checkAssignGlobalVariable, checkAssignLocalVariable, checkExecution, discard, enterStack, getAbsoluteName, getAbsoluteRootElement, getAccessor, getClassLoader, getCursorPosition, getEgressType, getExpr, getFields, getLiteralValue, getNameAsArray, getOffset, getOperator, getStart, getStatementString, isAssignment, isCollection, isDebuggingSymbol, isDeepProperty, isDiscard, isFQCN, isIdentifier, isLiteral, isOperator, isOperator, isThisVal, leaveStack, setAccessor, setAsFQCNReference, setAsLiteral, setCursorPosition, setEgressType, setLiteralValue, setName, storeInLiteralRegister, storePctx, strongTyping
-
-
-
-
Field Detail
-
name
protected String name
-
compiledBlock
protected ExecutableStatement compiledBlock
-
parameters
protected String[] parameters
-
parmNum
protected int parmNum
-
compiledMode
protected boolean compiledMode
-
singleton
protected boolean singleton
-
-
Constructor Detail
-
Function
public Function(String name, char[] expr, int start, int offset, int blockStart, int blockOffset, int fields, ParserContext pCtx)
-
-
Method Detail
-
getReducedValueAccelerated
public Object getReducedValueAccelerated(Object ctx, Object thisValue, VariableResolverFactory factory)
- Overrides:
getReducedValueAcceleratedin classASTNode
-
getReducedValue
public Object getReducedValue(Object ctx, Object thisValue, VariableResolverFactory factory)
- Overrides:
getReducedValuein classASTNode
-
call
public Object call(Object ctx, ExecutionContext execCtx, Object thisValue, VariableResolverFactory factory, Object[] parms)
-
setName
public void setName(String name)
-
getParameters
public String[] getParameters()
-
hasParameters
public boolean hasParameters()
-
checkArgumentCount
public void checkArgumentCount(int passing)
-
getCompiledBlock
public ExecutableStatement getCompiledBlock()
-
getStatement
public ExecutableStatement getStatement()
- Specified by:
getStatementin interfaceHasStatement
-
-