# Hierarchy For All Packages

Package Hierarchies:

- org.apache.sling.scripting.sightly.compiler,
- org.apache.sling.scripting.sightly.compiler.backend,
- org.apache.sling.scripting.sightly.compiler.commands,
- org.apache.sling.scripting.sightly.compiler.expression,
- org.apache.sling.scripting.sightly.compiler.expression.nodes,
- org.apache.sling.scripting.sightly.compiler.util,
- org.apache.sling.scripting.sightly.impl.compiler,
- org.apache.sling.scripting.sightly.impl.compiler.debug,
- org.apache.sling.scripting.sightly.impl.compiler.frontend,
- 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,
- org.apache.sling.scripting.sightly.impl.compiler.util.expression,
- org.apache.sling.scripting.sightly.impl.compiler.util.stream,
- org.apache.sling.scripting.sightly.impl.compiler.visitor,
- org.apache.sling.scripting.sightly.impl.filter,
- org.apache.sling.scripting.sightly.impl.html,
- org.apache.sling.scripting.sightly.impl.html.dom,
- org.apache.sling.scripting.sightly.impl.html.dom.template,
- org.apache.sling.scripting.sightly.impl.parser.expr.generated,
- org.apache.sling.scripting.sightly.impl.plugin

## Class Hierarchy

- java.lang.Object
  - org.apache.sling.scripting.sightly.compiler.commands.AbstractCommandVisitor (implements org.apache.sling.scripting.sightly.compiler.commands.CommandVisitor)
    - org.apache.sling.scripting.sightly.impl.compiler.optimization.CommandVariableUsage
    - org.apache.sling.scripting.sightly.impl.compiler.debug.SanityChecker (implements org.apache.sling.scripting.sightly.compiler.commands.CommandHandler)
  - org.apache.sling.scripting.sightly.impl.filter.AbstractFilter (implements org.apache.sling.scripting.sightly.impl.filter.Filter)
    - org.apache.sling.scripting.sightly.impl.filter.FormatFilter
    - org.apache.sling.scripting.sightly.impl.filter.I18nFilter
    - org.apache.sling.scripting.sightly.impl.filter.JoinFilter
    - org.apache.sling.scripting.sightly.impl.filter.URIManipulationFilter
    - org.apache.sling.scripting.sightly.impl.filter.XSSFilter
  - org.apache.sling.scripting.sightly.impl.plugin.AbstractPlugin (implements org.apache.sling.scripting.sightly.impl.plugin.Plugin)
    - org.apache.sling.scripting.sightly.impl.plugin.AbstractRepeatPlugin
      - org.apache.sling.scripting.sightly.impl.plugin.ListPlugin
      - org.apache.sling.scripting.sightly.impl.plugin.RepeatPlugin
    - org.apache.sling.scripting.sightly.impl.plugin.AttributePlugin
    - org.apache.sling.scripting.sightly.impl.plugin.CallPlugin
    - org.apache.sling.scripting.sightly.impl.plugin.ElementPlugin
    - org.apache.sling.scripting.sightly.impl.plugin.IncludePlugin
    - org.apache.sling.scripting.sightly.impl.plugin.ResourcePlugin
    - org.apache.sling.scripting.sightly.impl.plugin.SetPlugin
    - org.apache.sling.scripting.sightly.impl.plugin.TemplatePlugin
    - org.apache.sling.scripting.sightly.impl.plugin.TestPlugin
    - org.apache.sling.scripting.sightly.impl.plugin.TextPlugin
    - org.apache.sling.scripting.sightly.impl.plugin.UnwrapPlugin
    - org.apache.sling.scripting.sightly.impl.plugin.UsePlugin
  - org.apache.sling.scripting.sightly.impl.plugin.AggregatePluginInvoke (implements org.apache.sling.scripting.sightly.impl.plugin.PluginInvoke)
  - org.apache.sling.scripting.sightly.compiler.expression.nodes.ArrayLiteral (implements org.apache.sling.scripting.sightly.compiler.expression.ExpressionNode)
  - org.antlr.v4.runtime.BaseErrorListener (implements org.antlr.v4.runtime.ANTLRErrorListener)
    - org.apache.sling.scripting.sightly.impl.compiler.frontend.SightlyParserErrorListener
  - org.apache.sling.scripting.sightly.compiler.expression.nodes.BinaryOperation (implements org.apache.sling.scripting.sightly.compiler.expression.ExpressionNode)
  - org.apache.sling.scripting.sightly.compiler.expression.nodes.BooleanConstant (implements org.apache.sling.scripting.sightly.compiler.expression.nodes.Atom)
  - org.apache.sling.scripting.sightly.impl.compiler.util.stream.BroadcastHandler (implements org.apache.sling.scripting.sightly.compiler.commands.CommandHandler)
  - org.apache.sling.scripting.sightly.impl.compiler.optimization.CoalescingWrites (implements org.apache.sling.scripting.sightly.compiler.commands.CommandHandler)
  - org.apache.sling.scripting.sightly.impl.compiler.CompilationResultImpl (implements org.apache.sling.scripting.sightly.compiler.CompilationResult)
  - org.apache.sling.scripting.sightly.impl.compiler.frontend.CompilerContext
  - org.apache.sling.scripting.sightly.impl.compiler.CompilerMessageImpl (implements org.apache.sling.scripting.sightly.compiler.CompilerMessage)
  - org.apache.sling.scripting.sightly.compiler.commands.Conditional
  - org.apache.sling.scripting.sightly.compiler.commands.Conditional.End (implements org.apache.sling.scripting.sightly.compiler.commands.Command)
  - org.apache.sling.scripting.sightly.compiler.commands.Conditional.Start (implements org.apache.sling.scripting.sightly.compiler.commands.Command)
  - org.apache.sling.scripting.sightly.impl.plugin.DefaultPluginInvoke (implements org.apache.sling.scripting.sightly.impl.plugin.PluginInvoke)
  - org.apache.sling.scripting.sightly.impl.html.dom.DocumentParser
  - org.apache.sling.scripting.sightly.impl.compiler.frontend.ElementContext
  - org.apache.sling.scripting.sightly.impl.compiler.frontend.ElementContext.Attribute
  - org.apache.sling.scripting.sightly.impl.compiler.optimization.reduce.EvalResult
  - org.apache.sling.scripting.sightly.compiler.expression.Expression
  - org.apache.sling.scripting.sightly.impl.compiler.frontend.ExpressionParser
  - org.apache.sling.scripting.sightly.impl.compiler.optimization.reduce.ExpressionReducer (implements org.apache.sling.scripting.sightly.compiler.expression.NodeVisitor<T>)
  - org.apache.sling.scripting.sightly.impl.compiler.frontend.ExpressionWrapper
  - org.apache.sling.scripting.sightly.impl.compiler.frontend.Fragment.Expr (implements org.apache.sling.scripting.sightly.impl.compiler.frontend.Fragment)
  - org.apache.sling.scripting.sightly.impl.compiler.frontend.Fragment.Text (implements org.apache.sling.scripting.sightly.impl.compiler.frontend.Fragment)
  - org.apache.sling.scripting.sightly.impl.html.dom.HtmlParser
  - org.apache.sling.scripting.sightly.compiler.expression.nodes.Identifier (implements org.apache.sling.scripting.sightly.compiler.expression.nodes.Atom)
  - org.apache.sling.scripting.sightly.impl.compiler.frontend.Interpolation
  - org.apache.sling.scripting.sightly.impl.compiler.debug.LoggingHandler (implements org.apache.sling.scripting.sightly.compiler.commands.CommandHandler)
  - org.apache.sling.scripting.sightly.compiler.commands.Loop
  - org.apache.sling.scripting.sightly.compiler.commands.Loop.End (implements org.apache.sling.scripting.sightly.compiler.commands.Command)
  - org.apache.sling.scripting.sightly.compiler.commands.Loop.Start (implements org.apache.sling.scripting.sightly.compiler.commands.Command)
  - org.apache.sling.scripting.sightly.compiler.expression.nodes.MapLiteral (implements org.apache.sling.scripting.sightly.compiler.expression.ExpressionNode)
  - org.apache.sling.scripting.sightly.impl.html.dom.MarkupHandler
  - org.apache.sling.scripting.sightly.impl.html.MarkupUtils
  - org.apache.sling.scripting.sightly.impl.compiler.util.expression.NodeTransformer (implements org.apache.sling.scripting.sightly.compiler.expression.NodeVisitor<T>)
  - org.apache.sling.scripting.sightly.compiler.expression.nodes.NullLiteral (implements org.apache.sling.scripting.sightly.compiler.expression.ExpressionNode)
  - org.apache.sling.scripting.sightly.compiler.expression.nodes.NumericConstant (implements org.apache.sling.scripting.sightly.compiler.expression.nodes.Atom)
  - org.apache.sling.scripting.sightly.compiler.util.ObjectModel
  - org.apache.sling.scripting.sightly.compiler.commands.OutputVariable (implements org.apache.sling.scripting.sightly.compiler.commands.Command)
  - org.apache.sling.scripting.sightly.compiler.commands.OutText (implements org.apache.sling.scripting.sightly.compiler.commands.Command)
  - org.apache.sling.scripting.sightly.impl.compiler.frontend.ParserHelper
  - org.apache.sling.scripting.sightly.impl.compiler.Patterns
  - org.apache.sling.scripting.sightly.impl.plugin.PluginCallInfo
  - org.apache.sling.scripting.sightly.compiler.commands.Procedure
  - org.apache.sling.scripting.sightly.compiler.commands.Procedure.Call (implements org.apache.sling.scripting.sightly.compiler.commands.Command)
  - org.apache.sling.scripting.sightly.compiler.commands.Procedure.End (implements org.apache.sling.scripting.sightly.compiler.commands.Command)
  - org.apache.sling.scripting.sightly.compiler.commands.Procedure.Start (implements org.apache.sling.scripting.sightly.compiler.commands.Command)
  - org.apache.sling.scripting.sightly.compiler.expression.nodes.PropertyAccess (implements org.apache.sling.scripting.sightly.compiler.expression.ExpressionNode)
  - org.apache.sling.scripting.sightly.impl.compiler.PushStream (implements org.apache.sling.scripting.sightly.compiler.commands.CommandStream)
  - org.apache.sling.scripting.sightly.impl.compiler.PushStream.StreamMessage
  - org.antlr.v4.runtime.Recognizer<Symbol,​ATNInterpreter>
    - org.antlr.v4.runtime.Lexer (implements org.antlr.v4.runtime.TokenSource)
      - org.apache.sling.scripting.sightly.impl.parser.expr.generated.SightlyLexer
    - org.antlr.v4.runtime.Parser
      - org.apache.sling.scripting.sightly.impl.parser.expr.generated.SightlyParser
  - org.antlr.v4.runtime.RuleContext (implements org.antlr.v4.runtime.tree.RuleNode)
    - org.antlr.v4.runtime.ParserRuleContext
      - org.apache.sling.scripting.sightly.impl.parser.expr.generated.SightlyParser.AndBinaryOpContext
      - org.apache.sling.scripting.sightly.impl.parser.expr.generated.SightlyParser.AtomContext
      - org.apache.sling.scripting.sightly.impl.parser.expr.generated.SightlyParser.ComparisonOpContext
      - org.apache.sling.scripting.sightly.impl.parser.expr.generated.SightlyParser.ComparisonTermContext
      - org.apache.sling.scripting.sightly.impl.parser.expr.generated.SightlyParser.ExpressionContext
      - org.apache.sling.scripting.sightly.impl.parser.expr.generated.SightlyParser.ExprNodeContext
      - org.apache.sling.scripting.sightly.impl.parser.expr.generated.SightlyParser.FactorContext
      - org.apache.sling.scripting.sightly.impl.parser.expr.generated.SightlyParser.FieldContext
      - org.apache.sling.scripting.sightly.impl.parser.expr.generated.SightlyParser.InBinaryOpContext
      - org.apache.sling.scripting.sightly.impl.parser.expr.generated.SightlyParser.InterpolationContext
      - org.apache.sling.scripting.sightly.impl.parser.expr.generated.SightlyParser.OptionContext
      - org.apache.sling.scripting.sightly.impl.parser.expr.generated.SightlyParser.OptionListContext
      - org.apache.sling.scripting.sightly.impl.parser.expr.generated.SightlyParser.OrBinaryOpContext
      - org.apache.sling.scripting.sightly.impl.parser.expr.generated.SightlyParser.SimpleContext
      - org.apache.sling.scripting.sightly.impl.parser.expr.generated.SightlyParser.StringConstContext
      - org.apache.sling.scripting.sightly.impl.parser.expr.generated.SightlyParser.TermContext
      - org.apache.sling.scripting.sightly.impl.parser.expr.generated.SightlyParser.TextFragContext
      - org.apache.sling.scripting.sightly.impl.parser.expr.generated.SightlyParser.ValueListContext
  - org.apache.sling.scripting.sightly.compiler.expression.nodes.RuntimeCall (implements org.apache.sling.scripting.sightly.compiler.expression.ExpressionNode)
  - org.apache.sling.scripting.sightly.compiler.RuntimeFunction
  - org.apache.sling.scripting.sightly.impl.compiler.optimization.SequenceStreamTransformer (implements org.apache.sling.scripting.sightly.impl.compiler.optimization.StreamTransformer)
  - org.apache.sling.scripting.sightly.compiler.expression.SideEffectVisitor (implements org.apache.sling.scripting.sightly.compiler.expression.NodeVisitor<T>)
    - org.apache.sling.scripting.sightly.impl.compiler.optimization.VariableFinder
  - org.apache.sling.scripting.sightly.compiler.SightlyCompiler
  - org.apache.sling.scripting.sightly.impl.parser.expr.generated.SightlyParserBaseListener (implements org.apache.sling.scripting.sightly.impl.parser.expr.generated.SightlyParserListener)
  - org.apache.sling.scripting.sightly.impl.compiler.frontend.SimpleFrontend
  - org.apache.sling.scripting.sightly.compiler.commands.StatefulVisitor (implements org.apache.sling.scripting.sightly.compiler.commands.CommandVisitor)
  - org.apache.sling.scripting.sightly.compiler.commands.StatefulVisitor.StateControl
  - org.apache.sling.scripting.sightly.impl.compiler.util.stream.Streams
  - org.apache.sling.scripting.sightly.compiler.expression.nodes.StringConstant (implements org.apache.sling.scripting.sightly.compiler.expression.nodes.Atom)
  - org.apache.sling.scripting.sightly.impl.compiler.util.SymbolGenerator
  - org.apache.sling.scripting.sightly.impl.compiler.Syntax
  - org.apache.sling.scripting.sightly.impl.html.dom.template.TemplateAttribute
  - org.apache.sling.scripting.sightly.impl.html.dom.template.TemplateNode
    - org.apache.sling.scripting.sightly.impl.html.dom.template.TemplateCommentNode
    - org.apache.sling.scripting.sightly.impl.html.dom.template.TemplateElementNode
      - org.apache.sling.scripting.sightly.impl.html.dom.template.Template
    - org.apache.sling.scripting.sightly.impl.html.dom.template.TemplateTextNode
  - org.apache.sling.scripting.sightly.impl.html.dom.template.TemplateParser
  - org.apache.sling.scripting.sightly.impl.html.dom.template.TemplateParser.TemplateParserContext (implements org.apache.sling.scripting.sightly.impl.html.dom.DocumentHandler)
  - org.apache.sling.scripting.sightly.compiler.expression.nodes.TernaryOperator (implements org.apache.sling.scripting.sightly.compiler.expression.ExpressionNode)
  - java.lang.Throwable (implements java.io.Serializable)
    - java.lang.Exception
      - java.lang.RuntimeException
        - org.apache.sling.scripting.sightly.compiler.SightlyCompilerException
  - org.apache.sling.scripting.sightly.impl.html.dom.TreeTraverser
  - org.apache.sling.scripting.sightly.compiler.expression.nodes.UnaryOperation (implements org.apache.sling.scripting.sightly.compiler.expression.ExpressionNode)
  - org.apache.sling.scripting.sightly.impl.compiler.visitor.UniformVisitor (implements org.apache.sling.scripting.sightly.compiler.commands.CommandVisitor)
    - org.apache.sling.scripting.sightly.impl.compiler.visitor.IgnoreRange
      - org.apache.sling.scripting.sightly.impl.compiler.visitor.StatefulRangeIgnore
    - org.apache.sling.scripting.sightly.impl.compiler.visitor.TrackingVisitor<T>
      - org.apache.sling.scripting.sightly.impl.compiler.optimization.reduce.ConstantFolding (implements org.apache.sling.scripting.sightly.impl.compiler.util.stream.EmitterVisitor)
      - org.apache.sling.scripting.sightly.impl.compiler.optimization.DeadCodeRemoval (implements org.apache.sling.scripting.sightly.impl.compiler.util.stream.EmitterVisitor)
      - org.apache.sling.scripting.sightly.impl.compiler.optimization.SyntheticMapRemoval (implements org.apache.sling.scripting.sightly.impl.compiler.util.stream.EmitterVisitor)
      - org.apache.sling.scripting.sightly.impl.compiler.optimization.UnusedVariableRemoval (implements org.apache.sling.scripting.sightly.impl.compiler.util.stream.EmitterVisitor)
  - org.apache.sling.scripting.sightly.compiler.commands.VariableBinding
  - org.apache.sling.scripting.sightly.compiler.commands.VariableBinding.End (implements org.apache.sling.scripting.sightly.compiler.commands.Command)
  - org.apache.sling.scripting.sightly.compiler.commands.VariableBinding.Global (implements org.apache.sling.scripting.sightly.compiler.commands.Command)
  - org.apache.sling.scripting.sightly.compiler.commands.VariableBinding.Start (implements org.apache.sling.scripting.sightly.compiler.commands.Command)
  - org.apache.sling.scripting.sightly.compiler.util.VariableTracker<T>
  - org.apache.sling.scripting.sightly.impl.compiler.util.stream.VisitorHandler (implements org.apache.sling.scripting.sightly.compiler.commands.CommandHandler)

## Interface Hierarchy

- org.apache.sling.scripting.sightly.impl.html.dom.AttributeList
- org.apache.sling.scripting.sightly.compiler.backend.BackendCompiler
- org.apache.sling.scripting.sightly.compiler.commands.Command
- org.apache.sling.scripting.sightly.compiler.commands.CommandHandler
- org.apache.sling.scripting.sightly.compiler.commands.CommandStream
- org.apache.sling.scripting.sightly.compiler.commands.CommandVisitor
  - org.apache.sling.scripting.sightly.impl.compiler.util.stream.EmitterVisitor
- java.lang.Comparable<T>
  - org.apache.sling.scripting.sightly.impl.filter.Filter
  - org.apache.sling.scripting.sightly.impl.plugin.Plugin
- org.apache.sling.scripting.sightly.compiler.CompilationResult
- org.apache.sling.scripting.sightly.compiler.CompilationUnit
- org.apache.sling.scripting.sightly.compiler.CompilerMessage
- org.apache.sling.scripting.sightly.impl.html.dom.DocumentHandler
- org.apache.sling.scripting.sightly.compiler.expression.ExpressionNode
  - org.apache.sling.scripting.sightly.compiler.expression.nodes.Atom
- org.apache.sling.scripting.sightly.impl.compiler.frontend.Fragment
- org.apache.sling.scripting.sightly.compiler.expression.NodeVisitor<T>
- org.antlr.v4.runtime.tree.ParseTreeListener
  - org.apache.sling.scripting.sightly.impl.parser.expr.generated.SightlyParserListener
- org.apache.sling.scripting.sightly.impl.plugin.PluginInvoke
- org.apache.sling.scripting.sightly.impl.compiler.optimization.StreamTransformer

## Enum Hierarchy

- java.lang.Object
  - java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable)
    - org.apache.sling.scripting.sightly.compiler.expression.nodes.BinaryOperator
    - org.apache.sling.scripting.sightly.impl.filter.ExpressionContext
    - org.apache.sling.scripting.sightly.compiler.expression.MarkupContext
    - org.apache.sling.scripting.sightly.compiler.expression.nodes.UnaryOperator