org.teatrove.tea.parsetree
Class TreeWalker
java.lang.Object
org.teatrove.tea.parsetree.TreeWalker
- All Implemented Interfaces:
- NodeVisitor
- Direct Known Subclasses:
- TypeChecker.Visitor
public abstract class TreeWalker
- extends Object
- implements NodeVisitor
A TreeWalker traverses a parse tree in its canonical order. By overriding
a visit method, individual nodes can be captured and processed based on
their type. Call super.visit inside the overriden visit method to ensure
that the node's children are properly traversed.
- Author:
- Brian S O'Neill
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
TreeWalker
public TreeWalker()
visit
public Object visit(Template node)
- Specified by:
visit in interface NodeVisitor
visit
public Object visit(Name node)
- Specified by:
visit in interface NodeVisitor
visit
public Object visit(TypeName node)
- Specified by:
visit in interface NodeVisitor
visit
public Object visit(Variable node)
- Specified by:
visit in interface NodeVisitor
visit
public Object visit(ExpressionList node)
- Specified by:
visit in interface NodeVisitor
visit
public Object visit(Statement node)
- Specified by:
visit in interface NodeVisitor
visit
public Object visit(ImportDirective node)
- Specified by:
visit in interface NodeVisitor
visit
public Object visit(StatementList node)
- Specified by:
visit in interface NodeVisitor
visit
public Object visit(Block node)
- Specified by:
visit in interface NodeVisitor
visit
public Object visit(AssignmentStatement node)
- Specified by:
visit in interface NodeVisitor
visit
public Object visit(BreakStatement node)
- Specified by:
visit in interface NodeVisitor
visit
public Object visit(ContinueStatement node)
- Specified by:
visit in interface NodeVisitor
visit
public Object visit(ForeachStatement node)
- Specified by:
visit in interface NodeVisitor
visit
public Object visit(IfStatement node)
- Specified by:
visit in interface NodeVisitor
visit
public Object visit(SubstitutionStatement node)
- Specified by:
visit in interface NodeVisitor
visit
public Object visit(ExpressionStatement node)
- Specified by:
visit in interface NodeVisitor
visit
public Object visit(ReturnStatement node)
- Specified by:
visit in interface NodeVisitor
visit
public Object visit(ExceptionGuardStatement node)
- Specified by:
visit in interface NodeVisitor
visit
public Object visit(Expression node)
- Specified by:
visit in interface NodeVisitor
visit
public Object visit(ParenExpression node)
- Specified by:
visit in interface NodeVisitor
visit
public Object visit(NewArrayExpression node)
- Specified by:
visit in interface NodeVisitor
visit
public Object visit(FunctionCallExpression node)
- Specified by:
visit in interface NodeVisitor
visit
public Object visit(TemplateCallExpression node)
- Specified by:
visit in interface NodeVisitor
visit
public Object visit(VariableRef node)
- Specified by:
visit in interface NodeVisitor
visit
public Object visit(Lookup node)
- Specified by:
visit in interface NodeVisitor
visit
public Object visit(ArrayLookup node)
- Specified by:
visit in interface NodeVisitor
visit
public Object visit(NegateExpression node)
- Specified by:
visit in interface NodeVisitor
visit
public Object visit(NotExpression node)
- Specified by:
visit in interface NodeVisitor
visit
public Object visit(ConcatenateExpression node)
- Specified by:
visit in interface NodeVisitor
visit
public Object visit(ArithmeticExpression node)
- Specified by:
visit in interface NodeVisitor
visit
public Object visit(RelationalExpression node)
- Specified by:
visit in interface NodeVisitor
visit
public Object visit(AndExpression node)
- Specified by:
visit in interface NodeVisitor
visit
public Object visit(OrExpression node)
- Specified by:
visit in interface NodeVisitor
visit
public Object visit(TernaryExpression node)
- Specified by:
visit in interface NodeVisitor
visit
public Object visit(CompareExpression node)
- Specified by:
visit in interface NodeVisitor
visit
public Object visit(NoOpExpression node)
- Specified by:
visit in interface NodeVisitor
visit
public Object visit(TypeExpression node)
- Specified by:
visit in interface NodeVisitor
visit
public Object visit(SpreadExpression node)
- Specified by:
visit in interface NodeVisitor
visit
public Object visit(NullLiteral node)
- Specified by:
visit in interface NodeVisitor
visit
public Object visit(BooleanLiteral node)
- Specified by:
visit in interface NodeVisitor
visit
public Object visit(StringLiteral node)
- Specified by:
visit in interface NodeVisitor
visit
public Object visit(NumberLiteral node)
- Specified by:
visit in interface NodeVisitor
Copyright © 1997-2012 TeaTrove.org. All Rights Reserved.