Class UnusedVariableRemoval
- java.lang.Object
-
- org.apache.sling.scripting.sightly.impl.compiler.visitor.UniformVisitor
-
- org.apache.sling.scripting.sightly.impl.compiler.visitor.TrackingVisitor<org.apache.sling.scripting.sightly.impl.compiler.optimization.UnusedVariableRemoval.VariableActivity>
-
- org.apache.sling.scripting.sightly.impl.compiler.optimization.UnusedVariableRemoval
-
- All Implemented Interfaces:
CommandVisitor,EmitterVisitor
public final class UnusedVariableRemoval extends TrackingVisitor<org.apache.sling.scripting.sightly.impl.compiler.optimization.UnusedVariableRemoval.VariableActivity> implements EmitterVisitor
This optimization removes variables which are bound but never used in the command stream.
-
-
Field Summary
Fields Modifier and Type Field Description static StreamTransformerTRANSFORMER-
Fields inherited from class org.apache.sling.scripting.sightly.impl.compiler.visitor.TrackingVisitor
tracker
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected org.apache.sling.scripting.sightly.impl.compiler.optimization.UnusedVariableRemoval.VariableActivityassignDefault(Command command)PushStreamgetOutputStream()Get the output streamprotected voidonCommand(Command command)voidvisit(VariableBinding.End variableBindingEnd)Process aVariableBinding.Endcommand.voidvisit(VariableBinding.Start variableBindingStart)Process aVariableBinding.Startcommand.-
Methods inherited from class org.apache.sling.scripting.sightly.impl.compiler.visitor.TrackingVisitor
visit, visit
-
Methods inherited from class org.apache.sling.scripting.sightly.impl.compiler.visitor.UniformVisitor
visit, visit, visit, visit, visit, visit, visit, visit
-
-
-
-
Field Detail
-
TRANSFORMER
public static final StreamTransformer TRANSFORMER
-
-
Method Detail
-
getOutputStream
public PushStream getOutputStream()
Description copied from interface:EmitterVisitorGet the output stream- Specified by:
getOutputStreamin interfaceEmitterVisitor- Returns:
- the output stream of this visitor
-
visit
public void visit(VariableBinding.Start variableBindingStart)
Description copied from interface:CommandVisitorProcess aVariableBinding.Startcommand.- Specified by:
visitin interfaceCommandVisitor- Overrides:
visitin classTrackingVisitor<org.apache.sling.scripting.sightly.impl.compiler.optimization.UnusedVariableRemoval.VariableActivity>- Parameters:
variableBindingStart- the command
-
visit
public void visit(VariableBinding.End variableBindingEnd)
Description copied from interface:CommandVisitorProcess aVariableBinding.Endcommand.- Specified by:
visitin interfaceCommandVisitor- Overrides:
visitin classTrackingVisitor<org.apache.sling.scripting.sightly.impl.compiler.optimization.UnusedVariableRemoval.VariableActivity>- Parameters:
variableBindingEnd- the command
-
assignDefault
protected org.apache.sling.scripting.sightly.impl.compiler.optimization.UnusedVariableRemoval.VariableActivity assignDefault(Command command)
- Specified by:
assignDefaultin classTrackingVisitor<org.apache.sling.scripting.sightly.impl.compiler.optimization.UnusedVariableRemoval.VariableActivity>
-
onCommand
protected void onCommand(Command command)
- Specified by:
onCommandin classUniformVisitor
-
-