Class Interpreter
- java.lang.Object
-
- org.apache.commons.jexl3.parser.ParserVisitor
-
- org.apache.commons.jexl3.internal.InterpreterBase
-
- org.apache.commons.jexl3.internal.Interpreter
-
- Direct Known Subclasses:
TemplateInterpreter
public class Interpreter extends InterpreterBase
An interpreter of JEXL syntax.- Since:
- 2.0
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description classInterpreter.AnnotatedCallAn annotated call.-
Nested classes/interfaces inherited from class org.apache.commons.jexl3.internal.InterpreterBase
InterpreterBase.ArithmeticFuncall, InterpreterBase.CallDispatcher, InterpreterBase.ContextFuncall, InterpreterBase.ContextualCtor, InterpreterBase.Funcall
-
-
Field Summary
Fields Modifier and Type Field Description protected LexicalFrameblockBlock micro-frames.protected intfpFrame height.protected FrameframeSymbol values.protected static java.lang.ThreadLocal<Interpreter>INTERThe thread local interpreter.-
Fields inherited from class org.apache.commons.jexl3.internal.InterpreterBase
arithmetic, cache, cancelled, context, EMPTY_PARAMS, fqcnSolver, functions, functors, jexl, logger, ns, operators, options, uberspect
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedInterpreter(Engine engine, JexlOptions opts, JexlContext aContext, Frame eFrame)Creates an interpreter.protectedInterpreter(Interpreter ii, JexlArithmetic jexla)Copy constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected java.lang.Objectcall(JexlNode node, java.lang.Object target, java.lang.Object funcNode, ASTArguments argNode)Calls a method (or function).private java.lang.ObjectevalCatch(ASTReference catchVar, JexlNode catchBody, JexlException caught, java.lang.Object data)Evaluate the catch in a try/catch/finally.private java.lang.ObjectevalIdentifier(ASTIdentifierAccess node)Evaluates an access identifier based on the 2 main implementations; static (name or numbered identifier) or dynamic (jxlt).private <NODE extends JexlNode & JexlNode.JxltHandle>
java.lang.ObjectevalJxltHandle(NODE node)Evaluates a JxltHandle node.protected java.lang.ObjectexecuteAssign(JexlNode node, JexlOperator assignop, java.lang.Object data)Executes an assignment with an optional side effect operator.private java.lang.ObjectforIterator(ASTForeachStatement node, java.lang.Object data)private java.lang.ObjectforLoop(ASTForeachStatement node, java.lang.Object data)java.lang.Objectinterpret(JexlNode node)Interpret the given script/expression.private booleanisInstance(java.lang.Object object, java.lang.Object clazz)Determines if the specified Object is assignment-compatible with the object represented by the Class.protected java.lang.ObjectprocessAnnotation(java.lang.String annotation, java.lang.Object[] args, java.util.concurrent.Callable<java.lang.Object> stmt)Delegates the annotation processing to the JexlContext if it is an AnnotationProcessor.protected java.lang.ObjectprocessAnnotation(ASTAnnotatedStatement stmt, int index, java.lang.Object data)Processes an annotated statement.protected InterpreterputThreadInterpreter(Interpreter inter)Swaps the current thread local interpreter.private java.lang.StringresolveClassName(java.lang.String name)Resolves a class name.protected java.lang.ObjectrunClosure(Closure closure)Runs a closure.protected java.lang.ObjectrunScript(ASTJexlScript script, java.lang.Object data)private java.lang.ObjectshortCircuit(boolean check, JexlNode node, java.lang.Object data)Short-circuit evaluation of logical expression.private booleantestPredicate(JexlNode node, java.lang.Object condition)protected java.lang.Objectvisit(ASTAddNode node, java.lang.Object data)protected java.lang.Objectvisit(ASTAndNode node, java.lang.Object data)protected java.lang.Objectvisit(ASTAnnotatedStatement node, java.lang.Object data)protected java.lang.Objectvisit(ASTAnnotation node, java.lang.Object data)protected java.lang.Object[]visit(ASTArguments node, java.lang.Object data)protected java.lang.Objectvisit(ASTArrayAccess node, java.lang.Object data)protected java.lang.Objectvisit(ASTArrayLiteral node, java.lang.Object data)protected java.lang.Objectvisit(ASTAssignment node, java.lang.Object data)protected java.lang.Objectvisit(ASTBitwiseAndNode node, java.lang.Object data)protected java.lang.Objectvisit(ASTBitwiseComplNode node, java.lang.Object data)protected java.lang.Objectvisit(ASTBitwiseOrNode node, java.lang.Object data)protected java.lang.Objectvisit(ASTBitwiseXorNode node, java.lang.Object data)protected java.lang.Objectvisit(ASTBlock node, java.lang.Object data)protected java.lang.Objectvisit(ASTBreak node, java.lang.Object data)protected java.lang.Objectvisit(ASTCaseExpression node, java.lang.Object data)protected java.lang.Objectvisit(ASTCaseStatement node, java.lang.Object data)protected java.lang.Objectvisit(ASTConstructorNode node, java.lang.Object data)protected java.lang.Objectvisit(ASTContinue node, java.lang.Object data)protected java.lang.Objectvisit(ASTDecrementGetNode node, java.lang.Object data)protected java.lang.Objectvisit(ASTDefineVars node, java.lang.Object data)protected java.lang.Objectvisit(ASTDivNode node, java.lang.Object data)protected java.lang.Objectvisit(ASTDoWhileStatement node, java.lang.Object data)protected java.lang.Objectvisit(ASTEmptyFunction node, java.lang.Object data)protected java.lang.Objectvisit(ASTEQNode node, java.lang.Object data)protected java.lang.Objectvisit(ASTEQSNode node, java.lang.Object data)protected java.lang.Objectvisit(ASTERNode node, java.lang.Object data)protected java.lang.Objectvisit(ASTEWNode node, java.lang.Object data)protected java.lang.Objectvisit(ASTExtendedLiteral node, java.lang.Object data)protected java.lang.Objectvisit(ASTFalseNode node, java.lang.Object data)protected java.lang.Objectvisit(ASTForeachStatement node, java.lang.Object data)protected java.lang.Objectvisit(ASTFunctionNode node, java.lang.Object data)protected java.lang.Objectvisit(ASTGENode node, java.lang.Object data)protected java.lang.Objectvisit(ASTGetDecrementNode node, java.lang.Object data)protected java.lang.Objectvisit(ASTGetIncrementNode node, java.lang.Object data)protected java.lang.Objectvisit(ASTGTNode node, java.lang.Object data)protected java.lang.Objectvisit(ASTIdentifierAccess node, java.lang.Object data)protected java.lang.Objectvisit(ASTIdentifier identifier, java.lang.Object data)protected java.lang.Objectvisit(ASTIfStatement node, java.lang.Object data)protected java.lang.Objectvisit(ASTIncrementGetNode node, java.lang.Object data)protected java.lang.Objectvisit(ASTInstanceOf node, java.lang.Object data)protected java.lang.Objectvisit(ASTJexlScript script, java.lang.Object data)protected java.lang.Objectvisit(ASTJxltLiteral node, java.lang.Object data)protected java.lang.Objectvisit(ASTLENode node, java.lang.Object data)protected java.lang.Objectvisit(ASTLTNode node, java.lang.Object data)protected java.lang.Objectvisit(ASTMapEntry node, java.lang.Object data)protected java.lang.Objectvisit(ASTMapLiteral node, java.lang.Object data)protected java.lang.Objectvisit(ASTMethodNode node, java.lang.Object data)private java.lang.Objectvisit(ASTMethodNode node, java.lang.Object antish, java.lang.Object data)Execute a method call, ie syntactically written as name.call(...).protected java.lang.Objectvisit(ASTModNode node, java.lang.Object data)protected java.lang.Objectvisit(ASTMulNode node, java.lang.Object data)protected java.lang.Objectvisit(ASTNENode node, java.lang.Object data)protected java.lang.Objectvisit(ASTNESNode node, java.lang.Object data)protected java.lang.Objectvisit(ASTNEWNode node, java.lang.Object data)protected java.lang.Objectvisit(ASTNotInstanceOf node, java.lang.Object data)protected java.lang.Objectvisit(ASTNotNode node, java.lang.Object data)protected java.lang.Objectvisit(ASTNRNode node, java.lang.Object data)protected java.lang.Objectvisit(ASTNSWNode node, java.lang.Object data)protected java.lang.Objectvisit(ASTNullLiteral node, java.lang.Object data)protected java.lang.Objectvisit(ASTNullpNode node, java.lang.Object data)protected java.lang.Objectvisit(ASTNumberLiteral node, java.lang.Object data)protected java.lang.Objectvisit(ASTOrNode node, java.lang.Object data)protected java.lang.Objectvisit(ASTQualifiedIdentifier node, java.lang.Object data)protected java.lang.Objectvisit(ASTRangeNode node, java.lang.Object data)protected java.lang.Objectvisit(ASTReferenceExpression node, java.lang.Object data)protected java.lang.Objectvisit(ASTReference node, java.lang.Object data)protected java.lang.Objectvisit(ASTRegexLiteral node, java.lang.Object data)protected java.lang.Objectvisit(ASTReturnStatement node, java.lang.Object data)protected java.lang.Objectvisit(ASTSetAddNode node, java.lang.Object data)protected java.lang.Objectvisit(ASTSetAndNode node, java.lang.Object data)protected java.lang.Objectvisit(ASTSetDivNode node, java.lang.Object data)protected java.lang.Objectvisit(ASTSetLiteral node, java.lang.Object data)protected java.lang.Objectvisit(ASTSetModNode node, java.lang.Object data)protected java.lang.Objectvisit(ASTSetMultNode node, java.lang.Object data)protected java.lang.Objectvisit(ASTSetOrNode node, java.lang.Object data)protected java.lang.Objectvisit(ASTSetShiftLeftNode node, java.lang.Object data)protected java.lang.Objectvisit(ASTSetShiftRightNode node, java.lang.Object data)protected java.lang.Objectvisit(ASTSetShiftRightUnsignedNode node, java.lang.Object data)protected java.lang.Objectvisit(ASTSetSubNode node, java.lang.Object data)protected java.lang.Objectvisit(ASTSetXorNode node, java.lang.Object data)protected java.lang.Objectvisit(ASTShiftLeftNode node, java.lang.Object data)protected java.lang.Objectvisit(ASTShiftRightNode node, java.lang.Object data)protected java.lang.Objectvisit(ASTShiftRightUnsignedNode node, java.lang.Object data)protected java.lang.Objectvisit(ASTSizeFunction node, java.lang.Object data)protected java.lang.Objectvisit(ASTStringLiteral node, java.lang.Object data)protected java.lang.Objectvisit(ASTSubNode node, java.lang.Object data)protected java.lang.Objectvisit(ASTSwitchExpression node, java.lang.Object data)protected java.lang.Objectvisit(ASTSwitchStatement node, java.lang.Object data)protected java.lang.Objectvisit(ASTSWNode node, java.lang.Object data)protected java.lang.Objectvisit(ASTTernaryNode node, java.lang.Object data)protected java.lang.Objectvisit(ASTThrowStatement node, java.lang.Object data)protected java.lang.Objectvisit(ASTTrueNode node, java.lang.Object data)protected java.lang.Objectvisit(ASTTryResources node, java.lang.Object data)protected java.lang.Objectvisit(ASTTryStatement node, java.lang.Object data)protected java.lang.Objectvisit(ASTUnaryMinusNode node, java.lang.Object data)protected java.lang.Objectvisit(ASTUnaryPlusNode node, java.lang.Object data)protected java.lang.Objectvisit(ASTVar node, java.lang.Object data)protected java.lang.Objectvisit(ASTWhileStatement node, java.lang.Object data)private java.lang.ObjectvisitBlock(ASTBlock node, java.lang.Object data)Base visitation for blocks.protected java.lang.ObjectvisitLexicalNode(JexlNode node, java.lang.Object data)Runs a node.-
Methods inherited from class org.apache.commons.jexl3.internal.InterpreterBase
annotationError, callArguments, cancel, cancelCheck, closeIfSupported, closeIfSupported, constVariable, defineVariable, findNullOperand, findNullOperand, functionArgument, functionArguments, getAttribute, getVariable, invocationException, isCancellable, isCancelled, isSafe, isSilent, isStrictEngine, isStrictOperand, isTernaryProtected, isVariableDefined, operatorError, redefinedVariable, resolveNamespace, setAttribute, setContextVariable, stringifyProperty, stringifyPropertyValue, undefinedVariable, unsolvableMethod, unsolvableMethod, unsolvableProperty, unsolvableVariable, variableError
-
Methods inherited from class org.apache.commons.jexl3.parser.ParserVisitor
visit, visit
-
-
-
-
Field Detail
-
INTER
protected static final java.lang.ThreadLocal<Interpreter> INTER
The thread local interpreter.
-
fp
protected int fp
Frame height.
-
frame
protected final Frame frame
Symbol values.
-
block
protected LexicalFrame block
Block micro-frames.
-
-
Constructor Detail
-
Interpreter
protected Interpreter(Engine engine, JexlOptions opts, JexlContext aContext, Frame eFrame)
Creates an interpreter.- Parameters:
engine- the engine creating this interpreteraContext- the evaluation context, global variables, methods and functionsopts- the evaluation options, flags modifying evaluation behavioreFrame- the evaluation frame, arguments and local variables
-
Interpreter
protected Interpreter(Interpreter ii, JexlArithmetic jexla)
Copy constructor.- Parameters:
ii- the interpreter to copyjexla- the arithmetic instance to use (or null)
-
-
Method Detail
-
call
protected java.lang.Object call(JexlNode node, java.lang.Object target, java.lang.Object funcNode, ASTArguments argNode)
Calls a method (or function).Method resolution is a follows: 1 - attempt to find a method in the target passed as parameter; 2 - if this fails, seeks a JexlScript or JexlMethod or a duck-callable* as a property of that target; 3 - if this fails, narrow the arguments and try again 1 4 - if this fails, seeks a context or arithmetic method with the proper name taking the target as first argument;
*duck-callable: an object where a "call" function exists- Parameters:
node- the method nodetarget- the target of the method, what it should be invoked uponfuncNode- the object carrying the method or function or the method identifierargNode- the node carrying the arguments- Returns:
- the result of the method invocation
-
evalCatch
private java.lang.Object evalCatch(ASTReference catchVar, JexlNode catchBody, JexlException caught, java.lang.Object data)
Evaluate the catch in a try/catch/finally.- Parameters:
catchVar- the variable containing the exceptioncatchBody- the bodycaught- the caught exceptiondata- the data- Returns:
- the result of body evaluation
-
visit
protected java.lang.Object visit(ASTJxltLiteral node, java.lang.Object data)
- Specified by:
visitin classParserVisitor
-
evalIdentifier
private java.lang.Object evalIdentifier(ASTIdentifierAccess node)
Evaluates an access identifier based on the 2 main implementations; static (name or numbered identifier) or dynamic (jxlt).- Parameters:
node- the identifier access node- Returns:
- the evaluated identifier
-
evalJxltHandle
private <NODE extends JexlNode & JexlNode.JxltHandle> java.lang.Object evalJxltHandle(NODE node)
Evaluates a JxltHandle node.This parses and stores the JXLT template if necessary (upon first execution)
- Type Parameters:
NODE- the node type- Parameters:
node- the node- Returns:
- the JXLT template evaluation.
-
executeAssign
protected java.lang.Object executeAssign(JexlNode node, JexlOperator assignop, java.lang.Object data)
Executes an assignment with an optional side effect operator.- Parameters:
node- the nodeassignop- the assignment operator or null if simply assignmentdata- the data- Returns:
- the left hand side
-
forIterator
private java.lang.Object forIterator(ASTForeachStatement node, java.lang.Object data)
-
forLoop
private java.lang.Object forLoop(ASTForeachStatement node, java.lang.Object data)
-
interpret
public java.lang.Object interpret(JexlNode node)
Interpret the given script/expression.If the underlying JEXL engine is silent, errors will be logged through its logger as warning.
- Parameters:
node- the script or expression to interpret.- Returns:
- the result of the interpretation.
- Throws:
JexlException- if any error occurs during interpretation.
-
isInstance
private boolean isInstance(java.lang.Object object, java.lang.Object clazz)Determines if the specified Object is assignment-compatible with the object represented by the Class.- Parameters:
object- the Objectclazz- the Class- Returns:
- the result of isInstance call
-
processAnnotation
protected java.lang.Object processAnnotation(ASTAnnotatedStatement stmt, int index, java.lang.Object data)
Processes an annotated statement.- Parameters:
stmt- the statementindex- the index of the current annotation being processeddata- the contextual data- Returns:
- the result of the statement block evaluation
-
processAnnotation
protected java.lang.Object processAnnotation(java.lang.String annotation, java.lang.Object[] args, java.util.concurrent.Callable<java.lang.Object> stmt) throws java.lang.ExceptionDelegates the annotation processing to the JexlContext if it is an AnnotationProcessor.- Parameters:
annotation- the annotation nameargs- the annotation argumentsstmt- the statement / block that was annotated- Returns:
- the result of statement.call()
- Throws:
java.lang.Exception- if anything goes wrong
-
putThreadInterpreter
protected Interpreter putThreadInterpreter(Interpreter inter)
Swaps the current thread local interpreter.- Parameters:
inter- the interpreter or null- Returns:
- the previous thread local interpreter
-
resolveClassName
private java.lang.String resolveClassName(java.lang.String name)
Resolves a class name.- Parameters:
name- the simple class name- Returns:
- the fully qualified class name or the name
-
runClosure
protected java.lang.Object runClosure(Closure closure)
Runs a closure.- Parameters:
closure- the closure- Returns:
- the closure return value
-
testPredicate
private boolean testPredicate(JexlNode node, java.lang.Object condition)
-
visit
protected java.lang.Object visit(ASTAddNode node, java.lang.Object data)
- Specified by:
visitin classParserVisitor
-
shortCircuit
private java.lang.Object shortCircuit(boolean check, JexlNode node, java.lang.Object data)Short-circuit evaluation of logical expression.- Parameters:
check- the fuse value that will stop evaluation, true for OR, false for ANDnode- a ASTAndNode or a ASTOrNodedata- the data, usually null and unused- Returns:
- true or false if boolean logical option is true, the last evaluated argument otherwise
-
visit
protected java.lang.Object visit(ASTAndNode node, java.lang.Object data)
- Specified by:
visitin classParserVisitor
-
visit
protected java.lang.Object visit(ASTOrNode node, java.lang.Object data)
- Specified by:
visitin classParserVisitor
-
visit
protected java.lang.Object visit(ASTAnnotatedStatement node, java.lang.Object data)
- Specified by:
visitin classParserVisitor
-
visit
protected java.lang.Object visit(ASTAnnotation node, java.lang.Object data)
- Specified by:
visitin classParserVisitor
-
visit
protected java.lang.Object[] visit(ASTArguments node, java.lang.Object data)
- Specified by:
visitin classParserVisitor
-
visit
protected java.lang.Object visit(ASTArrayAccess node, java.lang.Object data)
- Specified by:
visitin classParserVisitor
-
visit
protected java.lang.Object visit(ASTArrayLiteral node, java.lang.Object data)
- Specified by:
visitin classParserVisitor
-
visit
protected java.lang.Object visit(ASTAssignment node, java.lang.Object data)
- Specified by:
visitin classParserVisitor
-
visit
protected java.lang.Object visit(ASTBitwiseAndNode node, java.lang.Object data)
- Specified by:
visitin classParserVisitor
-
visit
protected java.lang.Object visit(ASTBitwiseComplNode node, java.lang.Object data)
- Specified by:
visitin classParserVisitor
-
visit
protected java.lang.Object visit(ASTBitwiseOrNode node, java.lang.Object data)
- Specified by:
visitin classParserVisitor
-
visit
protected java.lang.Object visit(ASTBitwiseXorNode node, java.lang.Object data)
- Specified by:
visitin classParserVisitor
-
visit
protected java.lang.Object visit(ASTBlock node, java.lang.Object data)
- Specified by:
visitin classParserVisitor
-
visit
protected java.lang.Object visit(ASTBreak node, java.lang.Object data)
- Specified by:
visitin classParserVisitor
-
visit
protected java.lang.Object visit(ASTConstructorNode node, java.lang.Object data)
- Specified by:
visitin classParserVisitor
-
visit
protected java.lang.Object visit(ASTCaseStatement node, java.lang.Object data)
- Specified by:
visitin classParserVisitor
-
visit
protected java.lang.Object visit(ASTCaseExpression node, java.lang.Object data)
- Specified by:
visitin classParserVisitor
-
visit
protected java.lang.Object visit(ASTContinue node, java.lang.Object data)
- Specified by:
visitin classParserVisitor
-
visit
protected java.lang.Object visit(ASTDecrementGetNode node, java.lang.Object data)
- Specified by:
visitin classParserVisitor
-
visit
protected java.lang.Object visit(ASTDefineVars node, java.lang.Object data)
- Specified by:
visitin classParserVisitor
-
visit
protected java.lang.Object visit(ASTDivNode node, java.lang.Object data)
- Specified by:
visitin classParserVisitor
-
visit
protected java.lang.Object visit(ASTDoWhileStatement node, java.lang.Object data)
- Specified by:
visitin classParserVisitor
-
visit
protected java.lang.Object visit(ASTEmptyFunction node, java.lang.Object data)
- Specified by:
visitin classParserVisitor
-
visit
protected java.lang.Object visit(ASTEQNode node, java.lang.Object data)
- Specified by:
visitin classParserVisitor
-
visit
protected java.lang.Object visit(ASTEQSNode node, java.lang.Object data)
- Specified by:
visitin classParserVisitor
-
visit
protected java.lang.Object visit(ASTERNode node, java.lang.Object data)
- Specified by:
visitin classParserVisitor
-
visit
protected java.lang.Object visit(ASTEWNode node, java.lang.Object data)
- Specified by:
visitin classParserVisitor
-
visit
protected java.lang.Object visit(ASTExtendedLiteral node, java.lang.Object data)
- Specified by:
visitin classParserVisitor
-
visit
protected java.lang.Object visit(ASTFalseNode node, java.lang.Object data)
- Specified by:
visitin classParserVisitor
-
visit
protected java.lang.Object visit(ASTForeachStatement node, java.lang.Object data)
- Specified by:
visitin classParserVisitor
-
visit
protected java.lang.Object visit(ASTFunctionNode node, java.lang.Object data)
- Specified by:
visitin classParserVisitor
-
visit
protected java.lang.Object visit(ASTGENode node, java.lang.Object data)
- Specified by:
visitin classParserVisitor
-
visit
protected java.lang.Object visit(ASTGetDecrementNode node, java.lang.Object data)
- Specified by:
visitin classParserVisitor
-
visit
protected java.lang.Object visit(ASTGetIncrementNode node, java.lang.Object data)
- Specified by:
visitin classParserVisitor
-
visit
protected java.lang.Object visit(ASTGTNode node, java.lang.Object data)
- Specified by:
visitin classParserVisitor
-
visit
protected java.lang.Object visit(ASTIdentifier identifier, java.lang.Object data)
- Specified by:
visitin classParserVisitor
-
visit
protected java.lang.Object visit(ASTIdentifierAccess node, java.lang.Object data)
- Specified by:
visitin classParserVisitor
-
visit
protected java.lang.Object visit(ASTIfStatement node, java.lang.Object data)
- Specified by:
visitin classParserVisitor
-
visit
protected java.lang.Object visit(ASTIncrementGetNode node, java.lang.Object data)
- Specified by:
visitin classParserVisitor
-
visit
protected java.lang.Object visit(ASTInstanceOf node, java.lang.Object data)
- Specified by:
visitin classParserVisitor
-
visit
protected java.lang.Object visit(ASTJexlScript script, java.lang.Object data)
- Specified by:
visitin classParserVisitor
-
runScript
protected final java.lang.Object runScript(ASTJexlScript script, java.lang.Object data)
-
visit
protected java.lang.Object visit(ASTLENode node, java.lang.Object data)
- Specified by:
visitin classParserVisitor
-
visit
protected java.lang.Object visit(ASTLTNode node, java.lang.Object data)
- Specified by:
visitin classParserVisitor
-
visit
protected java.lang.Object visit(ASTMapEntry node, java.lang.Object data)
- Specified by:
visitin classParserVisitor
-
visit
protected java.lang.Object visit(ASTMapLiteral node, java.lang.Object data)
- Specified by:
visitin classParserVisitor
-
visit
protected java.lang.Object visit(ASTMethodNode node, java.lang.Object data)
- Specified by:
visitin classParserVisitor
-
visit
private java.lang.Object visit(ASTMethodNode node, java.lang.Object antish, java.lang.Object data)
Execute a method call, ie syntactically written as name.call(...).- Parameters:
node- the actual method call nodeantish- non-null when name.call is an antish variabledata- the context- Returns:
- the method call result
-
visit
protected java.lang.Object visit(ASTModNode node, java.lang.Object data)
- Specified by:
visitin classParserVisitor
-
visit
protected java.lang.Object visit(ASTMulNode node, java.lang.Object data)
- Specified by:
visitin classParserVisitor
-
visit
protected java.lang.Object visit(ASTNENode node, java.lang.Object data)
- Specified by:
visitin classParserVisitor
-
visit
protected java.lang.Object visit(ASTNESNode node, java.lang.Object data)
- Specified by:
visitin classParserVisitor
-
visit
protected java.lang.Object visit(ASTNEWNode node, java.lang.Object data)
- Specified by:
visitin classParserVisitor
-
visit
protected java.lang.Object visit(ASTNotInstanceOf node, java.lang.Object data)
- Specified by:
visitin classParserVisitor
-
visit
protected java.lang.Object visit(ASTNotNode node, java.lang.Object data)
- Specified by:
visitin classParserVisitor
-
visit
protected java.lang.Object visit(ASTNRNode node, java.lang.Object data)
- Specified by:
visitin classParserVisitor
-
visit
protected java.lang.Object visit(ASTNSWNode node, java.lang.Object data)
- Specified by:
visitin classParserVisitor
-
visit
protected java.lang.Object visit(ASTNullLiteral node, java.lang.Object data)
- Specified by:
visitin classParserVisitor
-
visit
protected java.lang.Object visit(ASTNullpNode node, java.lang.Object data)
- Specified by:
visitin classParserVisitor
-
visit
protected java.lang.Object visit(ASTNumberLiteral node, java.lang.Object data)
- Specified by:
visitin classParserVisitor
-
visit
protected java.lang.Object visit(ASTQualifiedIdentifier node, java.lang.Object data)
- Specified by:
visitin classParserVisitor
-
visit
protected java.lang.Object visit(ASTRangeNode node, java.lang.Object data)
- Specified by:
visitin classParserVisitor
-
visit
protected java.lang.Object visit(ASTReference node, java.lang.Object data)
- Specified by:
visitin classParserVisitor
-
visit
protected java.lang.Object visit(ASTReferenceExpression node, java.lang.Object data)
- Specified by:
visitin classParserVisitor
-
visit
protected java.lang.Object visit(ASTRegexLiteral node, java.lang.Object data)
- Specified by:
visitin classParserVisitor
-
visit
protected java.lang.Object visit(ASTReturnStatement node, java.lang.Object data)
- Specified by:
visitin classParserVisitor
-
visit
protected java.lang.Object visit(ASTSetAddNode node, java.lang.Object data)
- Specified by:
visitin classParserVisitor
-
visit
protected java.lang.Object visit(ASTSetAndNode node, java.lang.Object data)
- Specified by:
visitin classParserVisitor
-
visit
protected java.lang.Object visit(ASTSetDivNode node, java.lang.Object data)
- Specified by:
visitin classParserVisitor
-
visit
protected java.lang.Object visit(ASTSetLiteral node, java.lang.Object data)
- Specified by:
visitin classParserVisitor
-
visit
protected java.lang.Object visit(ASTSetModNode node, java.lang.Object data)
- Specified by:
visitin classParserVisitor
-
visit
protected java.lang.Object visit(ASTSetMultNode node, java.lang.Object data)
- Specified by:
visitin classParserVisitor
-
visit
protected java.lang.Object visit(ASTSetOrNode node, java.lang.Object data)
- Specified by:
visitin classParserVisitor
-
visit
protected java.lang.Object visit(ASTSetShiftLeftNode node, java.lang.Object data)
- Specified by:
visitin classParserVisitor
-
visit
protected java.lang.Object visit(ASTSetShiftRightNode node, java.lang.Object data)
- Specified by:
visitin classParserVisitor
-
visit
protected java.lang.Object visit(ASTSetShiftRightUnsignedNode node, java.lang.Object data)
- Specified by:
visitin classParserVisitor
-
visit
protected java.lang.Object visit(ASTSetSubNode node, java.lang.Object data)
- Specified by:
visitin classParserVisitor
-
visit
protected java.lang.Object visit(ASTSetXorNode node, java.lang.Object data)
- Specified by:
visitin classParserVisitor
-
visit
protected java.lang.Object visit(ASTShiftLeftNode node, java.lang.Object data)
- Specified by:
visitin classParserVisitor
-
visit
protected java.lang.Object visit(ASTShiftRightNode node, java.lang.Object data)
- Specified by:
visitin classParserVisitor
-
visit
protected java.lang.Object visit(ASTShiftRightUnsignedNode node, java.lang.Object data)
- Specified by:
visitin classParserVisitor
-
visit
protected java.lang.Object visit(ASTSizeFunction node, java.lang.Object data)
- Specified by:
visitin classParserVisitor
-
visit
protected java.lang.Object visit(ASTStringLiteral node, java.lang.Object data)
- Specified by:
visitin classParserVisitor
-
visit
protected java.lang.Object visit(ASTSubNode node, java.lang.Object data)
- Specified by:
visitin classParserVisitor
-
visit
protected java.lang.Object visit(ASTSWNode node, java.lang.Object data)
- Specified by:
visitin classParserVisitor
-
visit
protected java.lang.Object visit(ASTSwitchExpression node, java.lang.Object data)
- Specified by:
visitin classParserVisitor
-
visit
protected java.lang.Object visit(ASTSwitchStatement node, java.lang.Object data)
- Specified by:
visitin classParserVisitor
-
visit
protected java.lang.Object visit(ASTTernaryNode node, java.lang.Object data)
- Specified by:
visitin classParserVisitor
-
visit
protected java.lang.Object visit(ASTThrowStatement node, java.lang.Object data)
- Specified by:
visitin classParserVisitor
-
visit
protected java.lang.Object visit(ASTTrueNode node, java.lang.Object data)
- Specified by:
visitin classParserVisitor
-
visit
protected java.lang.Object visit(ASTTryResources node, java.lang.Object data)
- Specified by:
visitin classParserVisitor
-
visit
protected java.lang.Object visit(ASTTryStatement node, java.lang.Object data)
- Specified by:
visitin classParserVisitor
-
visit
protected java.lang.Object visit(ASTUnaryMinusNode node, java.lang.Object data)
- Specified by:
visitin classParserVisitor
-
visit
protected java.lang.Object visit(ASTUnaryPlusNode node, java.lang.Object data)
- Specified by:
visitin classParserVisitor
-
visit
protected java.lang.Object visit(ASTVar node, java.lang.Object data)
- Specified by:
visitin classParserVisitor
-
visit
protected java.lang.Object visit(ASTWhileStatement node, java.lang.Object data)
- Specified by:
visitin classParserVisitor
-
visitBlock
private java.lang.Object visitBlock(ASTBlock node, java.lang.Object data)
Base visitation for blocks.- Parameters:
node- the blockdata- the usual data- Returns:
- the result of the last expression evaluation
-
visitLexicalNode
protected java.lang.Object visitLexicalNode(JexlNode node, java.lang.Object data)
Runs a node.- Parameters:
node- the nodedata- the usual data, always null- Returns:
- the return value
-
-