# Hierarchy For All Packages

Package Hierarchies:

- japa.parser,
- japa.parser.ast,
- japa.parser.ast.body,
- japa.parser.ast.expr,
- japa.parser.ast.stmt,
- japa.parser.ast.type,
- japa.parser.ast.visitor

## Class Hierarchy

- java.lang.Object
  - japa.parser.ASTHelper
  - japa.parser.ASTParserTokenManager (implements japa.parser.ASTParserConstants)
  - japa.parser.ast.visitor.DumpVisitor (implements japa.parser.ast.visitor.VoidVisitor<A>)
  - japa.parser.ast.visitor.EqualsVisitor (implements japa.parser.ast.visitor.GenericVisitor<R,A>)
  - japa.parser.ast.visitor.GenericVisitorAdapter<R,A> (implements japa.parser.ast.visitor.GenericVisitor<R,A>)
  - japa.parser.JavaCharStream
  - japa.parser.JavaParser
  - japa.parser.ast.body.ModifierSet
  - japa.parser.ast.visitor.ModifierVisitorAdapter<A> (implements japa.parser.ast.visitor.GenericVisitor<R,A>)
  - japa.parser.ast.Node
    - japa.parser.ast.body.BodyDeclaration
      - japa.parser.ast.body.AnnotationMemberDeclaration
      - japa.parser.ast.body.ConstructorDeclaration
      - japa.parser.ast.body.EmptyMemberDeclaration
      - japa.parser.ast.body.EnumConstantDeclaration
      - japa.parser.ast.body.FieldDeclaration
      - japa.parser.ast.body.InitializerDeclaration
      - japa.parser.ast.body.MethodDeclaration
      - japa.parser.ast.body.TypeDeclaration
        - japa.parser.ast.body.AnnotationDeclaration
        - japa.parser.ast.body.ClassOrInterfaceDeclaration
        - japa.parser.ast.body.EmptyTypeDeclaration
        - japa.parser.ast.body.EnumDeclaration
    - japa.parser.ast.stmt.CatchClause
    - japa.parser.ast.Comment
      - japa.parser.ast.BlockComment
      - japa.parser.ast.body.JavadocComment
      - japa.parser.ast.LineComment
    - japa.parser.ast.CompilationUnit
    - japa.parser.ast.expr.Expression
      - japa.parser.ast.expr.AnnotationExpr
        - japa.parser.ast.expr.MarkerAnnotationExpr
        - japa.parser.ast.expr.NormalAnnotationExpr
        - japa.parser.ast.expr.SingleMemberAnnotationExpr
      - japa.parser.ast.expr.ArrayAccessExpr
      - japa.parser.ast.expr.ArrayCreationExpr
      - japa.parser.ast.expr.ArrayInitializerExpr
      - japa.parser.ast.expr.AssignExpr
      - japa.parser.ast.expr.BinaryExpr
      - japa.parser.ast.expr.CastExpr
      - japa.parser.ast.expr.ClassExpr
      - japa.parser.ast.expr.ConditionalExpr
      - japa.parser.ast.expr.EnclosedExpr
      - japa.parser.ast.expr.FieldAccessExpr
      - japa.parser.ast.expr.InstanceOfExpr
      - japa.parser.ast.expr.LiteralExpr
        - japa.parser.ast.expr.BooleanLiteralExpr
        - japa.parser.ast.expr.NullLiteralExpr
        - japa.parser.ast.expr.StringLiteralExpr
          - japa.parser.ast.expr.CharLiteralExpr
          - japa.parser.ast.expr.DoubleLiteralExpr
          - japa.parser.ast.expr.IntegerLiteralExpr
            - japa.parser.ast.expr.IntegerLiteralMinValueExpr
          - japa.parser.ast.expr.LongLiteralExpr
            - japa.parser.ast.expr.LongLiteralMinValueExpr
      - japa.parser.ast.expr.MethodCallExpr
      - japa.parser.ast.expr.NameExpr
        - japa.parser.ast.expr.QualifiedNameExpr
      - japa.parser.ast.expr.ObjectCreationExpr
      - japa.parser.ast.expr.SuperExpr
      - japa.parser.ast.expr.ThisExpr
      - japa.parser.ast.expr.UnaryExpr
      - japa.parser.ast.expr.VariableDeclarationExpr
    - japa.parser.ast.ImportDeclaration
    - japa.parser.ast.expr.MemberValuePair
    - japa.parser.ast.PackageDeclaration
    - japa.parser.ast.body.Parameter
    - japa.parser.ast.stmt.Statement
      - japa.parser.ast.stmt.AssertStmt
      - japa.parser.ast.stmt.BlockStmt
      - japa.parser.ast.stmt.BreakStmt
      - japa.parser.ast.stmt.ContinueStmt
      - japa.parser.ast.stmt.DoStmt
      - japa.parser.ast.stmt.EmptyStmt
      - japa.parser.ast.stmt.ExplicitConstructorInvocationStmt
      - japa.parser.ast.stmt.ExpressionStmt
      - japa.parser.ast.stmt.ForeachStmt
      - japa.parser.ast.stmt.ForStmt
      - japa.parser.ast.stmt.IfStmt
      - japa.parser.ast.stmt.LabeledStmt
      - japa.parser.ast.stmt.ReturnStmt
      - japa.parser.ast.stmt.SwitchEntryStmt
      - japa.parser.ast.stmt.SwitchStmt
      - japa.parser.ast.stmt.SynchronizedStmt
      - japa.parser.ast.stmt.ThrowStmt
      - japa.parser.ast.stmt.TryStmt
      - japa.parser.ast.stmt.TypeDeclarationStmt
      - japa.parser.ast.stmt.WhileStmt
    - japa.parser.ast.type.Type
      - japa.parser.ast.type.ClassOrInterfaceType
      - japa.parser.ast.type.PrimitiveType
      - japa.parser.ast.type.ReferenceType
      - japa.parser.ast.type.VoidType
      - japa.parser.ast.type.WildcardType
    - japa.parser.ast.TypeParameter
    - japa.parser.ast.body.VariableDeclarator
    - japa.parser.ast.body.VariableDeclaratorId
  - java.lang.Throwable (implements java.io.Serializable)
    - java.lang.Error
      - japa.parser.TokenMgrError
    - java.lang.Exception
      - japa.parser.ParseException
  - japa.parser.Token
  - japa.parser.ast.visitor.VoidVisitorAdapter<A> (implements japa.parser.ast.visitor.VoidVisitor<A>)

## Interface Hierarchy

- japa.parser.ASTParserConstants
- japa.parser.ast.visitor.GenericVisitor<R,A>
- japa.parser.ast.visitor.VoidVisitor<A>

## Enum Hierarchy

- java.lang.Object
  - java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable)
    - japa.parser.ast.type.PrimitiveType.Primitive
    - japa.parser.ast.expr.BinaryExpr.Operator
    - japa.parser.ast.expr.UnaryExpr.Operator
    - japa.parser.ast.expr.AssignExpr.Operator