Class TrackingVisitor<T>
- java.lang.Object
-
- org.apache.sling.scripting.sightly.impl.compiler.visitor.UniformVisitor
-
- org.apache.sling.scripting.sightly.impl.compiler.visitor.TrackingVisitor<T>
-
- All Implemented Interfaces:
CommandVisitor
- Direct Known Subclasses:
ConstantFolding
,DeadCodeRemoval
,SyntheticMapRemoval
,UnusedVariableRemoval
public abstract class TrackingVisitor<T> extends UniformVisitor
Command visitor which tracks variables in commands.
-
-
Field Summary
Fields Modifier and Type Field Description protected VariableTracker<T>
tracker
-
Constructor Summary
Constructors Constructor Description TrackingVisitor()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract T
assignDefault(Command command)
void
visit(Loop.End loopEnd)
Process aLoop.End
command.void
visit(Loop.Start loopStart)
Process aLoop.Start
command.void
visit(VariableBinding.End variableBindingEnd)
Process aVariableBinding.End
command.void
visit(VariableBinding.Start variableBindingStart)
Process aVariableBinding.Start
command.
-
-
-
Field Detail
-
tracker
protected final VariableTracker<T> tracker
-
-
Method Detail
-
visit
public void visit(VariableBinding.Start variableBindingStart)
Description copied from interface:CommandVisitor
Process aVariableBinding.Start
command.- Specified by:
visit
in interfaceCommandVisitor
- Overrides:
visit
in classUniformVisitor
- Parameters:
variableBindingStart
- the command
-
visit
public void visit(VariableBinding.End variableBindingEnd)
Description copied from interface:CommandVisitor
Process aVariableBinding.End
command.- Specified by:
visit
in interfaceCommandVisitor
- Overrides:
visit
in classUniformVisitor
- Parameters:
variableBindingEnd
- the command
-
visit
public void visit(Loop.Start loopStart)
Description copied from interface:CommandVisitor
Process aLoop.Start
command.- Specified by:
visit
in interfaceCommandVisitor
- Overrides:
visit
in classUniformVisitor
- Parameters:
loopStart
- the command
-
visit
public void visit(Loop.End loopEnd)
Description copied from interface:CommandVisitor
Process aLoop.End
command.- Specified by:
visit
in interfaceCommandVisitor
- Overrides:
visit
in classUniformVisitor
- Parameters:
loopEnd
- the command
-
-