public class Function extends ASTNode implements Safe
Modifier and Type | Field and Description |
---|---|
protected ExecutableStatement |
compiledBlock |
protected boolean |
compiledMode |
protected java.lang.String |
name |
protected java.lang.String[] |
parameters |
protected int |
parmNum |
protected boolean |
singleton |
accessor, ARRAY_TYPE_LITERAL, ASSIGN, BLOCK_DO, BLOCK_DO_UNTIL, BLOCK_FOR, BLOCK_FOREACH, BLOCK_IF, 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 and Description |
---|
Function(java.lang.String name,
char[] expr,
int start,
int offset,
int blockStart,
int blockOffset,
int fields,
ParserContext pCtx) |
Modifier and Type | Method and Description |
---|---|
java.lang.Object |
call(java.lang.Object ctx,
java.lang.Object thisValue,
VariableResolverFactory factory,
java.lang.Object[] parms) |
void |
checkArgumentCount(int passing) |
ExecutableStatement |
getCompiledBlock() |
java.lang.String |
getName() |
java.lang.String[] |
getParameters() |
java.lang.Object |
getReducedValue(java.lang.Object ctx,
java.lang.Object thisValue,
VariableResolverFactory factory) |
java.lang.Object |
getReducedValueAccelerated(java.lang.Object ctx,
java.lang.Object thisValue,
VariableResolverFactory factory) |
boolean |
hasParameters() |
void |
setName(java.lang.String name) |
java.lang.String |
toString() |
canSerializeAccessor, discard, getAbsoluteName, getAbsoluteRootElement, getAccessor, getClassLoader, getCursorPosition, getEgressType, getExpr, getFields, getLiteralValue, getNameAsArray, getOffset, getOperator, getStart, isAssignment, isCollection, isDebuggingSymbol, isDeepProperty, isDiscard, isFQCN, isIdentifier, isLiteral, isOperator, isOperator, isThisVal, setAccessor, setAsFQCNReference, setAsLiteral, setCursorPosition, setEgressType, setLiteralValue, setName, storeInLiteralRegister, storePctx, strongTyping
protected java.lang.String name
protected ExecutableStatement compiledBlock
protected java.lang.String[] parameters
protected int parmNum
protected boolean compiledMode
protected boolean singleton
public Function(java.lang.String name, char[] expr, int start, int offset, int blockStart, int blockOffset, int fields, ParserContext pCtx)
public java.lang.Object getReducedValueAccelerated(java.lang.Object ctx, java.lang.Object thisValue, VariableResolverFactory factory)
getReducedValueAccelerated
in class ASTNode
public java.lang.Object getReducedValue(java.lang.Object ctx, java.lang.Object thisValue, VariableResolverFactory factory)
getReducedValue
in class ASTNode
public java.lang.Object call(java.lang.Object ctx, java.lang.Object thisValue, VariableResolverFactory factory, java.lang.Object[] parms)
public void setName(java.lang.String name)
public java.lang.String[] getParameters()
public boolean hasParameters()
public void checkArgumentCount(int passing)
public ExecutableStatement getCompiledBlock()