# Hierarchy For All Packages

Package Hierarchies:

- org.springframework.expression,
- org.springframework.expression.common,
- org.springframework.expression.spel,
- org.springframework.expression.spel.ast,
- org.springframework.expression.spel.standard,
- org.springframework.expression.spel.support

## Class Hierarchy

- java.lang.Object
  - org.springframework.expression.spel.CodeFlow (implements org.springframework.asm.Opcodes)
  - org.springframework.expression.spel.CompiledExpression
  - org.springframework.expression.common.CompositeStringExpression (implements org.springframework.expression.Expression)
  - org.springframework.expression.spel.ExpressionState
  - org.springframework.expression.common.ExpressionUtils
  - org.springframework.expression.common.LiteralExpression (implements org.springframework.expression.Expression)
  - org.springframework.expression.spel.ast.Operator.DescriptorComparison
  - org.springframework.expression.spel.support.ReflectionHelper
  - org.springframework.expression.spel.support.ReflectiveConstructorExecutor (implements org.springframework.expression.ConstructorExecutor)
  - org.springframework.expression.spel.support.ReflectiveConstructorResolver (implements org.springframework.expression.ConstructorResolver)
  - org.springframework.expression.spel.support.ReflectiveIndexAccessor (implements org.springframework.expression.spel.CompilableIndexAccessor)
  - org.springframework.expression.spel.support.ReflectiveMethodExecutor (implements org.springframework.expression.MethodExecutor)
  - org.springframework.expression.spel.support.ReflectiveMethodResolver (implements org.springframework.expression.MethodResolver)
    - org.springframework.expression.spel.support.DataBindingMethodResolver
  - org.springframework.expression.spel.support.ReflectivePropertyAccessor (implements org.springframework.expression.PropertyAccessor)
    - org.springframework.expression.spel.support.DataBindingPropertyAccessor
  - org.springframework.expression.spel.support.SimpleEvaluationContext (implements org.springframework.expression.EvaluationContext)
  - org.springframework.expression.spel.support.SimpleEvaluationContext.Builder
  - org.springframework.expression.spel.standard.SpelCompiler (implements org.springframework.asm.Opcodes)
  - org.springframework.expression.spel.standard.SpelExpression (implements org.springframework.expression.Expression)
  - org.springframework.expression.spel.ast.SpelNodeImpl (implements org.springframework.asm.Opcodes, org.springframework.expression.spel.SpelNode)
    - org.springframework.expression.spel.ast.Assign
    - org.springframework.expression.spel.ast.BeanReference
    - org.springframework.expression.spel.ast.CompoundExpression
    - org.springframework.expression.spel.ast.ConstructorReference
    - org.springframework.expression.spel.ast.Elvis
    - org.springframework.expression.spel.ast.FunctionReference
    - org.springframework.expression.spel.ast.Identifier
    - org.springframework.expression.spel.ast.Indexer
    - org.springframework.expression.spel.ast.InlineList
    - org.springframework.expression.spel.ast.InlineMap
    - org.springframework.expression.spel.ast.Literal
      - org.springframework.expression.spel.ast.BooleanLiteral
      - org.springframework.expression.spel.ast.FloatLiteral
      - org.springframework.expression.spel.ast.IntLiteral
      - org.springframework.expression.spel.ast.LongLiteral
      - org.springframework.expression.spel.ast.NullLiteral
      - org.springframework.expression.spel.ast.RealLiteral
      - org.springframework.expression.spel.ast.StringLiteral
    - org.springframework.expression.spel.ast.MethodReference
    - org.springframework.expression.spel.ast.Operator
      - org.springframework.expression.spel.ast.OpAnd
      - org.springframework.expression.spel.ast.OpDec
      - org.springframework.expression.spel.ast.OpDivide
      - org.springframework.expression.spel.ast.OpEQ
      - org.springframework.expression.spel.ast.OperatorBetween
      - org.springframework.expression.spel.ast.OperatorInstanceof
      - org.springframework.expression.spel.ast.OperatorMatches
      - org.springframework.expression.spel.ast.OperatorPower
      - org.springframework.expression.spel.ast.OpGE
      - org.springframework.expression.spel.ast.OpGT
      - org.springframework.expression.spel.ast.OpInc
      - org.springframework.expression.spel.ast.OpLE
      - org.springframework.expression.spel.ast.OpLT
      - org.springframework.expression.spel.ast.OpMinus
      - org.springframework.expression.spel.ast.OpModulus
      - org.springframework.expression.spel.ast.OpMultiply
      - org.springframework.expression.spel.ast.OpNE
      - org.springframework.expression.spel.ast.OpOr
      - org.springframework.expression.spel.ast.OpPlus
    - org.springframework.expression.spel.ast.OperatorNot
    - org.springframework.expression.spel.ast.Projection
    - org.springframework.expression.spel.ast.PropertyOrFieldReference
    - org.springframework.expression.spel.ast.QualifiedIdentifier
    - org.springframework.expression.spel.ast.Selection
    - org.springframework.expression.spel.ast.Ternary
    - org.springframework.expression.spel.ast.TypeReference
    - org.springframework.expression.spel.ast.VariableReference
  - org.springframework.expression.spel.SpelParserConfiguration
  - org.springframework.expression.spel.support.StandardEvaluationContext (implements org.springframework.expression.EvaluationContext)
  - org.springframework.expression.spel.support.StandardOperatorOverloader (implements org.springframework.expression.OperatorOverloader)
  - org.springframework.expression.spel.support.StandardTypeComparator (implements org.springframework.expression.TypeComparator)
  - org.springframework.expression.spel.support.StandardTypeConverter (implements org.springframework.expression.TypeConverter)
  - org.springframework.expression.spel.support.StandardTypeLocator (implements org.springframework.expression.TypeLocator)
  - org.springframework.expression.common.TemplateAwareExpressionParser (implements org.springframework.expression.ExpressionParser)
    - org.springframework.expression.spel.standard.SpelExpressionParser
  - org.springframework.expression.common.TemplateParserContext (implements org.springframework.expression.ParserContext)
  - java.lang.Throwable (implements java.io.Serializable)
    - java.lang.Exception
      - org.springframework.expression.AccessException
      - java.lang.RuntimeException
        - org.springframework.expression.ExpressionException
          - org.springframework.expression.EvaluationException
            - org.springframework.expression.ExpressionInvocationTargetException
            - org.springframework.expression.spel.SpelEvaluationException
          - org.springframework.expression.ParseException
            - org.springframework.expression.spel.SpelParseException
        - org.springframework.expression.spel.InternalParseException
  - org.springframework.expression.TypedValue
    - org.springframework.expression.spel.support.BooleanTypedValue
  - org.springframework.expression.spel.ast.ValueRef.NullValueRef (implements org.springframework.expression.spel.ast.ValueRef)
  - org.springframework.expression.spel.ast.ValueRef.TypedValueHolderValueRef (implements org.springframework.expression.spel.ast.ValueRef)

## Interface Hierarchy

- org.springframework.expression.BeanResolver
- org.springframework.expression.spel.CodeFlow.ClinitAdder
- org.springframework.expression.spel.CodeFlow.FieldAdder
- org.springframework.expression.ConstructorExecutor
- org.springframework.expression.ConstructorResolver
- org.springframework.expression.EvaluationContext
- org.springframework.expression.Expression
- org.springframework.expression.ExpressionParser
- org.springframework.expression.MethodExecutor
- org.springframework.expression.MethodFilter
- org.springframework.expression.MethodResolver
- org.springframework.asm.Opcodes
  - org.springframework.expression.spel.CompilableIndexAccessor (also extends org.springframework.expression.IndexAccessor)
  - org.springframework.expression.spel.CompilablePropertyAccessor (also extends org.springframework.expression.PropertyAccessor)
- org.springframework.expression.OperatorOverloader
- org.springframework.expression.ParserContext
- org.springframework.expression.spel.SpelNode
- org.springframework.expression.TargetedAccessor
  - org.springframework.expression.IndexAccessor
    - org.springframework.expression.spel.CompilableIndexAccessor (also extends org.springframework.asm.Opcodes)
  - org.springframework.expression.PropertyAccessor
    - org.springframework.expression.spel.CompilablePropertyAccessor (also extends org.springframework.asm.Opcodes)
- org.springframework.expression.TypeComparator
- org.springframework.expression.TypeConverter
- org.springframework.expression.TypeLocator
- org.springframework.expression.spel.ast.ValueRef

## Enum Class Hierarchy

- java.lang.Object
  - java.lang.Enum<E> (implements java.lang.Comparable<T>, java.lang.constant.Constable, java.io.Serializable)
    - org.springframework.expression.Operation
    - org.springframework.expression.spel.SpelCompilerMode
    - org.springframework.expression.spel.SpelMessage
    - org.springframework.expression.spel.SpelMessage.Kind
    - org.springframework.expression.spel.ast.TypeCode