## Uses of Interface
org.apache.sling.scripting.sightly.compiler.commands.CommandVisitor

Packages that use CommandVisitor
org.apache.sling.scripting.sightly.compiler.commands: The `org.apache.sling.scripting.sightly.compiler.commands` package defines the API for `Command` processing.
org.apache.sling.scripting.sightly.impl.compiler.debug
org.apache.sling.scripting.sightly.impl.compiler.optimization
org.apache.sling.scripting.sightly.impl.compiler.optimization.reduce
org.apache.sling.scripting.sightly.impl.compiler.util.stream
org.apache.sling.scripting.sightly.impl.compiler.visitor

### Uses of CommandVisitor in org.apache.sling.scripting.sightly.compiler.commands

Classes in org.apache.sling.scripting.sightly.compiler.commands that implement CommandVisitor
`class` `AbstractCommandVisitor` This class can be extended by `CommandVisitor` implementations that don't provide support for all the available `Command`s.
`class` `StatefulVisitor` This `CommandVisitor` allows storing states for `Command` evaluation.

Methods in org.apache.sling.scripting.sightly.compiler.commands that return CommandVisitor
`CommandVisitor` StatefulVisitor.StateControl.`pop()`
`CommandVisitor` StatefulVisitor.StateControl.`replace​(CommandVisitor visitor)`

Methods in org.apache.sling.scripting.sightly.compiler.commands with parameters of type CommandVisitor
`void` Command.`accept​(CommandVisitor visitor)` Accept a visitor.
`void` Conditional.End.`accept​(CommandVisitor visitor)`
`void` Conditional.Start.`accept​(CommandVisitor visitor)`
`void` Loop.End.`accept​(CommandVisitor visitor)`
`void` Loop.Start.`accept​(CommandVisitor visitor)`
`void` OutputVariable.`accept​(CommandVisitor visitor)`
`void` OutText.`accept​(CommandVisitor visitor)`
`void` Procedure.Call.`accept​(CommandVisitor visitor)`
`void` Procedure.End.`accept​(CommandVisitor visitor)`
`void` Procedure.Start.`accept​(CommandVisitor visitor)`
`void` VariableBinding.End.`accept​(CommandVisitor visitor)`
`void` VariableBinding.Global.`accept​(CommandVisitor visitor)`
`void` VariableBinding.Start.`accept​(CommandVisitor visitor)`
`void` StatefulVisitor.`initializeWith​(CommandVisitor initialState)`
`void` StatefulVisitor.StateControl.`push​(CommandVisitor visitor)`
`CommandVisitor` StatefulVisitor.StateControl.`replace​(CommandVisitor visitor)`

### Uses of CommandVisitor in org.apache.sling.scripting.sightly.impl.compiler.debug

Classes in org.apache.sling.scripting.sightly.impl.compiler.debug that implement CommandVisitor
`class` `SanityChecker` A visitor which checks a stream for correct closing of things

### Uses of CommandVisitor in org.apache.sling.scripting.sightly.impl.compiler.optimization

Classes in org.apache.sling.scripting.sightly.impl.compiler.optimization that implement CommandVisitor
`class` `CommandVariableUsage` Extracts the variables used in a command
`class` `DeadCodeRemoval` Removes code under conditionals which are proven to fail.
`class` `SyntheticMapRemoval` This optimization handles variables initialized to map literals.
`class` `UnusedVariableRemoval` This optimization removes variables which are bound but never used in the command stream.

### Uses of CommandVisitor in org.apache.sling.scripting.sightly.impl.compiler.optimization.reduce

Classes in org.apache.sling.scripting.sightly.impl.compiler.optimization.reduce that implement CommandVisitor
`class` `ConstantFolding` Optimization which evaluates constant expressions during compilation-time

### Uses of CommandVisitor in org.apache.sling.scripting.sightly.impl.compiler.util.stream

Subinterfaces of CommandVisitor in org.apache.sling.scripting.sightly.impl.compiler.util.stream
`interface` `EmitterVisitor` Command visitor which writes to an output stream.

Methods in org.apache.sling.scripting.sightly.impl.compiler.util.stream with parameters of type CommandVisitor
`static void` Streams.`connect​(CommandStream inStream, PushStream outStream, CommandVisitor visitor)` Attach the visitor as a handle to the inStream and propagate the done signal from the inStream to the outStream

Constructors in org.apache.sling.scripting.sightly.impl.compiler.util.stream with parameters of type CommandVisitor
`VisitorHandler​(CommandVisitor visitor)`

### Uses of CommandVisitor in org.apache.sling.scripting.sightly.impl.compiler.visitor

Classes in org.apache.sling.scripting.sightly.impl.compiler.visitor that implement CommandVisitor
`class` `IgnoreRange` Ignore a nested range of commands.
`class` `StatefulRangeIgnore` Variant of `IgnoreRange` to be used in stateful visitors.
`class` `TrackingVisitor<T>` Command visitor which tracks variables in commands.
`class` `UniformVisitor` Abstract visitor that allows to skip processing some commands.