Package org.apache.sling.scripting.sightly.compiler.commands

## Interface CommandVisitor

All Known Subinterfaces:
  `EmitterVisitor`

All Known Implementing Classes:
  `AbstractCommandVisitor`, `CommandVariableUsage`, `ConstantFolding`, `DeadCodeRemoval`, `IgnoreRange`, `SanityChecker`, `StatefulRangeIgnore`, `StatefulVisitor`, `SyntheticMapRemoval`, `TrackingVisitor`, `UniformVisitor`, `UnusedVariableRemoval`

    @ConsumerType
    public interface CommandVisitor

The `CommandVisitor` is the mechanism through which a `Command` can be processed.

### Method Summary

All Methods Instance Methods Abstract Methods
`void` `visit​(Conditional.End conditionalEnd)` Process a `Conditional.End` command.
`void` `visit​(Conditional.Start conditionalStart)` Process a `Conditional.Start` command.
`void` `visit​(Loop.End loopEnd)` Process a `Loop.End` command.
`void` `visit​(Loop.Start loopStart)` Process a `Loop.Start` command.
`void` `visit​(OutputVariable outputVariable)` Process a `OutputVariable` command.
`void` `visit​(OutText outText)` Process a `OutText` command.
`void` `visit​(Procedure.Call procedureCall)` Process a `Procedure.Call` command.
`void` `visit​(Procedure.End endProcedure)` Process a `Procedure.End` command.
`void` `visit​(Procedure.Start startProcedure)` Process a `Procedure.Start` command.
`void` `visit​(VariableBinding.End variableBindingEnd)` Process a `VariableBinding.End` command.
`void` `visit​(VariableBinding.Global globalAssignment)` Process a `VariableBinding.Global` command.
`void` `visit​(VariableBinding.Start variableBindingStart)` Process a `VariableBinding.Start` command.

### Method Detail

#### visit

    void visit​(Conditional.Start conditionalStart)

Process a `Conditional.Start` command.

Parameters:
  `conditionalStart` - the command

#### visit

    void visit​(Conditional.End conditionalEnd)

Process a `Conditional.End` command.

Parameters:
  `conditionalEnd` - the command

#### visit

    void visit​(VariableBinding.Start variableBindingStart)

Process a `VariableBinding.Start` command.

Parameters:
  `variableBindingStart` - the command

#### visit

    void visit​(VariableBinding.End variableBindingEnd)

Process a `VariableBinding.End` command.

Parameters:
  `variableBindingEnd` - the command

#### visit

    void visit​(VariableBinding.Global globalAssignment)

Process a `VariableBinding.Global` command.

Parameters:
  `globalAssignment` - the command

#### visit

    void visit​(OutputVariable outputVariable)

Process a `OutputVariable` command.

Parameters:
  `outputVariable` - the command

#### visit

    void visit​(OutText outText)

Process a `OutText` command.

Parameters:
  `outText` - the command

#### visit

    void visit​(Loop.Start loopStart)

Process a `Loop.Start` command.

Parameters:
  `loopStart` - the command

#### visit

    void visit​(Loop.End loopEnd)

Process a `Loop.End` command.

Parameters:
  `loopEnd` - the command

#### visit

    void visit​(Procedure.Start startProcedure)

Process a `Procedure.Start` command.

Parameters:
  `startProcedure` - the command

#### visit

    void visit​(Procedure.End endProcedure)

Process a `Procedure.End` command.

Parameters:
  `endProcedure` - the command

#### visit

    void visit​(Procedure.Call procedureCall)

Process a `Procedure.Call` command.

Parameters:
  `procedureCall` - the command