R
- The return type of this visitor.public abstract class AbstractExprNodeVisitor<R> extends AbstractNodeVisitor<ExprNode,R>
Same as AbstractReturningExprNodeVisitor
except that in this class, internal
visit()
calls do not return a value.
Important: Do not use outside of Soy code (treat as superpackage-private).
To create a visitor:
visit*Node()
methods for some specific node types.
visitExprNode()
, which is usually needed. Other
fallback methods include visitPrimitiveNode()
and visitOperatorNode()
.
exec()
if this visitor needs to return a non-null final result
and/or if this visitor has state that needs to be setup/reset before each unrelated use of
visit()
.
AbstractReturningExprNodeVisitor
Constructor and Description |
---|
AbstractExprNodeVisitor() |
exec, visitChildren, visitChildrenAllowingConcurrentModification
protected void visit(ExprNode node)
AbstractNodeVisitor
visit
in class AbstractNodeVisitor<ExprNode,R>
node
- The node to visit.protected void visitChildren(ExprNode.ParentExprNode node)
node
- The parent node whose children to visit.visitChildrenAllowingConcurrentModification(com.google.template.soy.exprtree.ExprNode.ParentExprNode)
protected void visitChildrenAllowingConcurrentModification(ExprNode.ParentExprNode node)
visitChildren
in that we are iterating through a copy of the
children. Thus, concurrent modification of the list of children is allowed.node
- The parent node whose children to visit.visitChildren(com.google.template.soy.exprtree.ExprNode.ParentExprNode)
protected void visitExprRootNode(ExprRootNode<?> node)
protected void visitNullNode(NullNode node)
protected void visitBooleanNode(BooleanNode node)
protected void visitIntegerNode(IntegerNode node)
protected void visitFloatNode(FloatNode node)
protected void visitStringNode(StringNode node)
protected void visitPrimitiveNode(ExprNode.PrimitiveNode node)
protected void visitListLiteralNode(ListLiteralNode node)
protected void visitMapLiteralNode(MapLiteralNode node)
protected void visitVarRefNode(VarRefNode node)
protected void visitDataAccessNode(DataAccessNode node)
protected void visitFieldAccessNode(FieldAccessNode node)
protected void visitItemAccessNode(ItemAccessNode node)
protected void visitGlobalNode(GlobalNode node)
protected void visitNegativeOpNode(OperatorNodes.NegativeOpNode node)
protected void visitNotOpNode(OperatorNodes.NotOpNode node)
protected void visitTimesOpNode(OperatorNodes.TimesOpNode node)
protected void visitDivideByOpNode(OperatorNodes.DivideByOpNode node)
protected void visitModOpNode(OperatorNodes.ModOpNode node)
protected void visitPlusOpNode(OperatorNodes.PlusOpNode node)
protected void visitMinusOpNode(OperatorNodes.MinusOpNode node)
protected void visitLessThanOpNode(OperatorNodes.LessThanOpNode node)
protected void visitGreaterThanOpNode(OperatorNodes.GreaterThanOpNode node)
protected void visitLessThanOrEqualOpNode(OperatorNodes.LessThanOrEqualOpNode node)
protected void visitGreaterThanOrEqualOpNode(OperatorNodes.GreaterThanOrEqualOpNode node)
protected void visitEqualOpNode(OperatorNodes.EqualOpNode node)
protected void visitNotEqualOpNode(OperatorNodes.NotEqualOpNode node)
protected void visitAndOpNode(OperatorNodes.AndOpNode node)
protected void visitOrOpNode(OperatorNodes.OrOpNode node)
protected void visitNullCoalescingOpNode(OperatorNodes.NullCoalescingOpNode node)
protected void visitConditionalOpNode(OperatorNodes.ConditionalOpNode node)
protected void visitOperatorNode(ExprNode.OperatorNode node)
protected void visitFunctionNode(FunctionNode node)
protected void visitExprNode(ExprNode node)
node
- The node being visited.