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 class
Interpreter.AnnotatedCall
An 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 LexicalFrame
block
Block micro-frames.protected int
fp
Frame height.protected Frame
frame
Symbol values.protected static java.lang.ThreadLocal<Interpreter>
INTER
The 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 protected
Interpreter(Engine engine, JexlOptions opts, JexlContext aContext, Frame eFrame)
Creates an interpreter.protected
Interpreter(Interpreter ii, JexlArithmetic jexla)
Copy constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected java.lang.Object
call(JexlNode node, java.lang.Object target, java.lang.Object funcNode, ASTArguments argNode)
Calls a method (or function).private java.lang.Object
evalCatch(ASTReference catchVar, JexlNode catchBody, JexlException caught, java.lang.Object data)
Evaluate the catch in a try/catch/finally.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).protected java.lang.Object
executeAssign(JexlNode node, JexlOperator assignop, java.lang.Object data)
Executes an assignment with an optional side effect operator.private java.lang.Object
forIterator(ASTForeachStatement node, java.lang.Object data)
private java.lang.Object
forLoop(ASTForeachStatement node, java.lang.Object data)
java.lang.Object
interpret(JexlNode node)
Interpret the given script/expression.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.protected java.lang.Object
processAnnotation(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.Object
processAnnotation(ASTAnnotatedStatement stmt, int index, java.lang.Object data)
Processes an annotated statement.protected Interpreter
putThreadInterpreter(Interpreter inter)
Swaps the current thread local interpreter.private java.lang.String
resolveClassName(java.lang.String name)
Resolves a class name.protected java.lang.Object
runClosure(Closure closure)
Runs a closure.private boolean
testPredicate(JexlNode node, java.lang.Object condition)
protected java.lang.Object
visit(ASTAddNode node, java.lang.Object data)
protected java.lang.Object
visit(ASTAndNode node, java.lang.Object data)
protected java.lang.Object
visit(ASTAnnotatedStatement node, java.lang.Object data)
protected java.lang.Object
visit(ASTAnnotation node, java.lang.Object data)
protected java.lang.Object[]
visit(ASTArguments node, java.lang.Object data)
protected java.lang.Object
visit(ASTArrayAccess node, java.lang.Object data)
protected java.lang.Object
visit(ASTArrayLiteral node, java.lang.Object data)
protected java.lang.Object
visit(ASTAssignment node, java.lang.Object data)
protected java.lang.Object
visit(ASTBitwiseAndNode node, java.lang.Object data)
protected java.lang.Object
visit(ASTBitwiseComplNode node, java.lang.Object data)
protected java.lang.Object
visit(ASTBitwiseOrNode node, java.lang.Object data)
protected java.lang.Object
visit(ASTBitwiseXorNode node, java.lang.Object data)
protected java.lang.Object
visit(ASTBlock node, java.lang.Object data)
protected java.lang.Object
visit(ASTBreak node, java.lang.Object data)
protected java.lang.Object
visit(ASTConstructorNode node, java.lang.Object data)
protected java.lang.Object
visit(ASTContinue node, java.lang.Object data)
protected java.lang.Object
visit(ASTDecrementGetNode node, java.lang.Object data)
protected java.lang.Object
visit(ASTDefineVars node, java.lang.Object data)
protected java.lang.Object
visit(ASTDivNode node, java.lang.Object data)
protected java.lang.Object
visit(ASTDoWhileStatement node, java.lang.Object data)
protected java.lang.Object
visit(ASTEmptyFunction node, java.lang.Object data)
protected java.lang.Object
visit(ASTEQNode node, java.lang.Object data)
protected java.lang.Object
visit(ASTEQSNode node, java.lang.Object data)
protected java.lang.Object
visit(ASTERNode node, java.lang.Object data)
protected java.lang.Object
visit(ASTEWNode node, java.lang.Object data)
protected java.lang.Object
visit(ASTExtendedLiteral node, java.lang.Object data)
protected java.lang.Object
visit(ASTFalseNode node, java.lang.Object data)
protected java.lang.Object
visit(ASTForeachStatement node, java.lang.Object data)
protected java.lang.Object
visit(ASTFunctionNode node, java.lang.Object data)
protected java.lang.Object
visit(ASTGENode node, java.lang.Object data)
protected java.lang.Object
visit(ASTGetDecrementNode node, java.lang.Object data)
protected java.lang.Object
visit(ASTGetIncrementNode node, java.lang.Object data)
protected java.lang.Object
visit(ASTGTNode node, java.lang.Object data)
protected java.lang.Object
visit(ASTIdentifierAccess node, java.lang.Object data)
protected java.lang.Object
visit(ASTIdentifier identifier, java.lang.Object data)
protected java.lang.Object
visit(ASTIfStatement node, java.lang.Object data)
protected java.lang.Object
visit(ASTIncrementGetNode node, java.lang.Object data)
protected java.lang.Object
visit(ASTInstanceOf node, java.lang.Object data)
protected java.lang.Object
visit(ASTJexlScript script, java.lang.Object data)
protected java.lang.Object
visit(ASTJxltLiteral node, java.lang.Object data)
protected java.lang.Object
visit(ASTLENode node, java.lang.Object data)
protected java.lang.Object
visit(ASTLTNode node, java.lang.Object data)
protected java.lang.Object
visit(ASTMapEntry node, java.lang.Object data)
protected java.lang.Object
visit(ASTMapLiteral node, java.lang.Object data)
protected java.lang.Object
visit(ASTMethodNode node, java.lang.Object data)
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(...).protected java.lang.Object
visit(ASTModNode node, java.lang.Object data)
protected java.lang.Object
visit(ASTMulNode node, java.lang.Object data)
protected java.lang.Object
visit(ASTNENode node, java.lang.Object data)
protected java.lang.Object
visit(ASTNESNode node, java.lang.Object data)
protected java.lang.Object
visit(ASTNEWNode node, java.lang.Object data)
protected java.lang.Object
visit(ASTNotInstanceOf node, java.lang.Object data)
protected java.lang.Object
visit(ASTNotNode node, java.lang.Object data)
protected java.lang.Object
visit(ASTNRNode node, java.lang.Object data)
protected java.lang.Object
visit(ASTNSWNode node, java.lang.Object data)
protected java.lang.Object
visit(ASTNullLiteral node, java.lang.Object data)
protected java.lang.Object
visit(ASTNullpNode node, java.lang.Object data)
protected java.lang.Object
visit(ASTNumberLiteral node, java.lang.Object data)
protected java.lang.Object
visit(ASTOrNode node, java.lang.Object data)
protected java.lang.Object
visit(ASTQualifiedIdentifier node, java.lang.Object data)
protected java.lang.Object
visit(ASTRangeNode node, java.lang.Object data)
protected java.lang.Object
visit(ASTReferenceExpression node, java.lang.Object data)
protected java.lang.Object
visit(ASTReference node, java.lang.Object data)
protected java.lang.Object
visit(ASTRegexLiteral node, java.lang.Object data)
protected java.lang.Object
visit(ASTReturnStatement node, java.lang.Object data)
protected java.lang.Object
visit(ASTSetAddNode node, java.lang.Object data)
protected java.lang.Object
visit(ASTSetAndNode node, java.lang.Object data)
protected java.lang.Object
visit(ASTSetDivNode node, java.lang.Object data)
protected java.lang.Object
visit(ASTSetLiteral node, java.lang.Object data)
protected java.lang.Object
visit(ASTSetModNode node, java.lang.Object data)
protected java.lang.Object
visit(ASTSetMultNode node, java.lang.Object data)
protected java.lang.Object
visit(ASTSetOrNode node, java.lang.Object data)
protected java.lang.Object
visit(ASTSetShiftLeftNode node, java.lang.Object data)
protected java.lang.Object
visit(ASTSetShiftRightNode node, java.lang.Object data)
protected java.lang.Object
visit(ASTSetShiftRightUnsignedNode node, java.lang.Object data)
protected java.lang.Object
visit(ASTSetSubNode node, java.lang.Object data)
protected java.lang.Object
visit(ASTSetXorNode node, java.lang.Object data)
protected java.lang.Object
visit(ASTShiftLeftNode node, java.lang.Object data)
protected java.lang.Object
visit(ASTShiftRightNode node, java.lang.Object data)
protected java.lang.Object
visit(ASTShiftRightUnsignedNode node, java.lang.Object data)
protected java.lang.Object
visit(ASTSizeFunction node, java.lang.Object data)
protected java.lang.Object
visit(ASTStringLiteral node, java.lang.Object data)
protected java.lang.Object
visit(ASTSubNode node, java.lang.Object data)
protected java.lang.Object
visit(ASTSWNode node, java.lang.Object data)
protected java.lang.Object
visit(ASTTernaryNode node, java.lang.Object data)
protected java.lang.Object
visit(ASTThrowStatement node, java.lang.Object data)
protected java.lang.Object
visit(ASTTrueNode node, java.lang.Object data)
protected java.lang.Object
visit(ASTTryResources node, java.lang.Object data)
protected java.lang.Object
visit(ASTTryStatement node, java.lang.Object data)
protected java.lang.Object
visit(ASTUnaryMinusNode node, java.lang.Object data)
protected java.lang.Object
visit(ASTUnaryPlusNode node, java.lang.Object data)
protected java.lang.Object
visit(ASTVar node, java.lang.Object data)
protected java.lang.Object
visit(ASTWhileStatement node, java.lang.Object data)
private java.lang.Object
visitBlock(ASTBlock node, java.lang.Object data)
Base visitation for blocks.protected java.lang.Object
visitLexicalNode(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
-
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
-
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.Exception
Delegates 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:
visit
in classParserVisitor
-
visit
protected java.lang.Object visit(ASTAndNode node, java.lang.Object data)
- Specified by:
visit
in classParserVisitor
-
visit
protected java.lang.Object visit(ASTAnnotatedStatement node, java.lang.Object data)
- Specified by:
visit
in classParserVisitor
-
visit
protected java.lang.Object visit(ASTAnnotation node, java.lang.Object data)
- Specified by:
visit
in classParserVisitor
-
visit
protected java.lang.Object[] visit(ASTArguments node, java.lang.Object data)
- Specified by:
visit
in classParserVisitor
-
visit
protected java.lang.Object visit(ASTArrayAccess node, java.lang.Object data)
- Specified by:
visit
in classParserVisitor
-
visit
protected java.lang.Object visit(ASTArrayLiteral node, java.lang.Object data)
- Specified by:
visit
in classParserVisitor
-
visit
protected java.lang.Object visit(ASTAssignment node, java.lang.Object data)
- Specified by:
visit
in classParserVisitor
-
visit
protected java.lang.Object visit(ASTBitwiseAndNode node, java.lang.Object data)
- Specified by:
visit
in classParserVisitor
-
visit
protected java.lang.Object visit(ASTBitwiseComplNode node, java.lang.Object data)
- Specified by:
visit
in classParserVisitor
-
visit
protected java.lang.Object visit(ASTBitwiseOrNode node, java.lang.Object data)
- Specified by:
visit
in classParserVisitor
-
visit
protected java.lang.Object visit(ASTBitwiseXorNode node, java.lang.Object data)
- Specified by:
visit
in classParserVisitor
-
visit
protected java.lang.Object visit(ASTBlock node, java.lang.Object data)
- Specified by:
visit
in classParserVisitor
-
visit
protected java.lang.Object visit(ASTBreak node, java.lang.Object data)
- Specified by:
visit
in classParserVisitor
-
visit
protected java.lang.Object visit(ASTConstructorNode node, java.lang.Object data)
- Specified by:
visit
in classParserVisitor
-
visit
protected java.lang.Object visit(ASTContinue node, java.lang.Object data)
- Specified by:
visit
in classParserVisitor
-
visit
protected java.lang.Object visit(ASTDecrementGetNode node, java.lang.Object data)
- Specified by:
visit
in classParserVisitor
-
visit
protected java.lang.Object visit(ASTDefineVars node, java.lang.Object data)
- Specified by:
visit
in classParserVisitor
-
visit
protected java.lang.Object visit(ASTDivNode node, java.lang.Object data)
- Specified by:
visit
in classParserVisitor
-
visit
protected java.lang.Object visit(ASTDoWhileStatement node, java.lang.Object data)
- Specified by:
visit
in classParserVisitor
-
visit
protected java.lang.Object visit(ASTEmptyFunction node, java.lang.Object data)
- Specified by:
visit
in classParserVisitor
-
visit
protected java.lang.Object visit(ASTEQNode node, java.lang.Object data)
- Specified by:
visit
in classParserVisitor
-
visit
protected java.lang.Object visit(ASTEQSNode node, java.lang.Object data)
- Specified by:
visit
in classParserVisitor
-
visit
protected java.lang.Object visit(ASTERNode node, java.lang.Object data)
- Specified by:
visit
in classParserVisitor
-
visit
protected java.lang.Object visit(ASTEWNode node, java.lang.Object data)
- Specified by:
visit
in classParserVisitor
-
visit
protected java.lang.Object visit(ASTExtendedLiteral node, java.lang.Object data)
- Specified by:
visit
in classParserVisitor
-
visit
protected java.lang.Object visit(ASTFalseNode node, java.lang.Object data)
- Specified by:
visit
in classParserVisitor
-
visit
protected java.lang.Object visit(ASTForeachStatement node, java.lang.Object data)
- Specified by:
visit
in classParserVisitor
-
visit
protected java.lang.Object visit(ASTFunctionNode node, java.lang.Object data)
- Specified by:
visit
in classParserVisitor
-
visit
protected java.lang.Object visit(ASTGENode node, java.lang.Object data)
- Specified by:
visit
in classParserVisitor
-
visit
protected java.lang.Object visit(ASTGetDecrementNode node, java.lang.Object data)
- Specified by:
visit
in classParserVisitor
-
visit
protected java.lang.Object visit(ASTGetIncrementNode node, java.lang.Object data)
- Specified by:
visit
in classParserVisitor
-
visit
protected java.lang.Object visit(ASTGTNode node, java.lang.Object data)
- Specified by:
visit
in classParserVisitor
-
visit
protected java.lang.Object visit(ASTIdentifier identifier, java.lang.Object data)
- Specified by:
visit
in classParserVisitor
-
visit
protected java.lang.Object visit(ASTIdentifierAccess node, java.lang.Object data)
- Specified by:
visit
in classParserVisitor
-
visit
protected java.lang.Object visit(ASTIfStatement node, java.lang.Object data)
- Specified by:
visit
in classParserVisitor
-
visit
protected java.lang.Object visit(ASTIncrementGetNode node, java.lang.Object data)
- Specified by:
visit
in classParserVisitor
-
visit
protected java.lang.Object visit(ASTInstanceOf node, java.lang.Object data)
- Specified by:
visit
in classParserVisitor
-
visit
protected java.lang.Object visit(ASTJexlScript script, java.lang.Object data)
- Specified by:
visit
in classParserVisitor
-
visit
protected java.lang.Object visit(ASTJxltLiteral node, java.lang.Object data)
- Specified by:
visit
in classParserVisitor
-
visit
protected java.lang.Object visit(ASTLENode node, java.lang.Object data)
- Specified by:
visit
in classParserVisitor
-
visit
protected java.lang.Object visit(ASTLTNode node, java.lang.Object data)
- Specified by:
visit
in classParserVisitor
-
visit
protected java.lang.Object visit(ASTMapEntry node, java.lang.Object data)
- Specified by:
visit
in classParserVisitor
-
visit
protected java.lang.Object visit(ASTMapLiteral node, java.lang.Object data)
- Specified by:
visit
in classParserVisitor
-
visit
protected java.lang.Object visit(ASTMethodNode node, java.lang.Object data)
- Specified by:
visit
in 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:
visit
in classParserVisitor
-
visit
protected java.lang.Object visit(ASTMulNode node, java.lang.Object data)
- Specified by:
visit
in classParserVisitor
-
visit
protected java.lang.Object visit(ASTNENode node, java.lang.Object data)
- Specified by:
visit
in classParserVisitor
-
visit
protected java.lang.Object visit(ASTNESNode node, java.lang.Object data)
- Specified by:
visit
in classParserVisitor
-
visit
protected java.lang.Object visit(ASTNEWNode node, java.lang.Object data)
- Specified by:
visit
in classParserVisitor
-
visit
protected java.lang.Object visit(ASTNotInstanceOf node, java.lang.Object data)
- Specified by:
visit
in classParserVisitor
-
visit
protected java.lang.Object visit(ASTNotNode node, java.lang.Object data)
- Specified by:
visit
in classParserVisitor
-
visit
protected java.lang.Object visit(ASTNRNode node, java.lang.Object data)
- Specified by:
visit
in classParserVisitor
-
visit
protected java.lang.Object visit(ASTNSWNode node, java.lang.Object data)
- Specified by:
visit
in classParserVisitor
-
visit
protected java.lang.Object visit(ASTNullLiteral node, java.lang.Object data)
- Specified by:
visit
in classParserVisitor
-
visit
protected java.lang.Object visit(ASTNullpNode node, java.lang.Object data)
- Specified by:
visit
in classParserVisitor
-
visit
protected java.lang.Object visit(ASTNumberLiteral node, java.lang.Object data)
- Specified by:
visit
in classParserVisitor
-
visit
protected java.lang.Object visit(ASTOrNode node, java.lang.Object data)
- Specified by:
visit
in classParserVisitor
-
visit
protected java.lang.Object visit(ASTQualifiedIdentifier node, java.lang.Object data)
- Specified by:
visit
in classParserVisitor
-
visit
protected java.lang.Object visit(ASTRangeNode node, java.lang.Object data)
- Specified by:
visit
in classParserVisitor
-
visit
protected java.lang.Object visit(ASTReference node, java.lang.Object data)
- Specified by:
visit
in classParserVisitor
-
visit
protected java.lang.Object visit(ASTReferenceExpression node, java.lang.Object data)
- Specified by:
visit
in classParserVisitor
-
visit
protected java.lang.Object visit(ASTRegexLiteral node, java.lang.Object data)
- Specified by:
visit
in classParserVisitor
-
visit
protected java.lang.Object visit(ASTReturnStatement node, java.lang.Object data)
- Specified by:
visit
in classParserVisitor
-
visit
protected java.lang.Object visit(ASTSetAddNode node, java.lang.Object data)
- Specified by:
visit
in classParserVisitor
-
visit
protected java.lang.Object visit(ASTSetAndNode node, java.lang.Object data)
- Specified by:
visit
in classParserVisitor
-
visit
protected java.lang.Object visit(ASTSetDivNode node, java.lang.Object data)
- Specified by:
visit
in classParserVisitor
-
visit
protected java.lang.Object visit(ASTSetLiteral node, java.lang.Object data)
- Specified by:
visit
in classParserVisitor
-
visit
protected java.lang.Object visit(ASTSetModNode node, java.lang.Object data)
- Specified by:
visit
in classParserVisitor
-
visit
protected java.lang.Object visit(ASTSetMultNode node, java.lang.Object data)
- Specified by:
visit
in classParserVisitor
-
visit
protected java.lang.Object visit(ASTSetOrNode node, java.lang.Object data)
- Specified by:
visit
in classParserVisitor
-
visit
protected java.lang.Object visit(ASTSetShiftLeftNode node, java.lang.Object data)
- Specified by:
visit
in classParserVisitor
-
visit
protected java.lang.Object visit(ASTSetShiftRightNode node, java.lang.Object data)
- Specified by:
visit
in classParserVisitor
-
visit
protected java.lang.Object visit(ASTSetShiftRightUnsignedNode node, java.lang.Object data)
- Specified by:
visit
in classParserVisitor
-
visit
protected java.lang.Object visit(ASTSetSubNode node, java.lang.Object data)
- Specified by:
visit
in classParserVisitor
-
visit
protected java.lang.Object visit(ASTSetXorNode node, java.lang.Object data)
- Specified by:
visit
in classParserVisitor
-
visit
protected java.lang.Object visit(ASTShiftLeftNode node, java.lang.Object data)
- Specified by:
visit
in classParserVisitor
-
visit
protected java.lang.Object visit(ASTShiftRightNode node, java.lang.Object data)
- Specified by:
visit
in classParserVisitor
-
visit
protected java.lang.Object visit(ASTShiftRightUnsignedNode node, java.lang.Object data)
- Specified by:
visit
in classParserVisitor
-
visit
protected java.lang.Object visit(ASTSizeFunction node, java.lang.Object data)
- Specified by:
visit
in classParserVisitor
-
visit
protected java.lang.Object visit(ASTStringLiteral node, java.lang.Object data)
- Specified by:
visit
in classParserVisitor
-
visit
protected java.lang.Object visit(ASTSubNode node, java.lang.Object data)
- Specified by:
visit
in classParserVisitor
-
visit
protected java.lang.Object visit(ASTSWNode node, java.lang.Object data)
- Specified by:
visit
in classParserVisitor
-
visit
protected java.lang.Object visit(ASTTernaryNode node, java.lang.Object data)
- Specified by:
visit
in classParserVisitor
-
visit
protected java.lang.Object visit(ASTThrowStatement node, java.lang.Object data)
- Specified by:
visit
in classParserVisitor
-
visit
protected java.lang.Object visit(ASTTrueNode node, java.lang.Object data)
- Specified by:
visit
in classParserVisitor
-
visit
protected java.lang.Object visit(ASTTryResources node, java.lang.Object data)
- Specified by:
visit
in classParserVisitor
-
visit
protected java.lang.Object visit(ASTTryStatement node, java.lang.Object data)
- Specified by:
visit
in classParserVisitor
-
visit
protected java.lang.Object visit(ASTUnaryMinusNode node, java.lang.Object data)
- Specified by:
visit
in classParserVisitor
-
visit
protected java.lang.Object visit(ASTUnaryPlusNode node, java.lang.Object data)
- Specified by:
visit
in classParserVisitor
-
visit
protected java.lang.Object visit(ASTVar node, java.lang.Object data)
- Specified by:
visit
in classParserVisitor
-
visit
protected java.lang.Object visit(ASTWhileStatement node, java.lang.Object data)
- Specified by:
visit
in 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- Returns:
- the return value
-
-