# Hierarchy For All Packages

Package Hierarchies:

- javassist,
- javassist.bytecode,
- javassist.bytecode.analysis,
- javassist.bytecode.annotation,
- javassist.compiler.ast,
- javassist.expr,
- javassist.runtime,
- javassist.tools,
- javassist.tools.reflect,
- javassist.tools.rmi,
- javassist.tools.web,
- javassist.util,
- javassist.util.proxy

## Class Hierarchy

- java.lang.Object
  - java.util.AbstractMap<K,V> (implements java.util.Map<K,V>)
    - java.util.HashMap<K,V> (implements java.lang.Cloneable, java.util.Map<K,V>, java.io.Serializable)
      - javassist.ClassMap
  - javassist.bytecode.AccessFlag
  - javassist.bytecode.analysis.Analyzer (implements javassist.bytecode.Opcode)
  - javassist.bytecode.annotation.Annotation
  - javassist.bytecode.annotation.AnnotationImpl (implements java.lang.reflect.InvocationHandler)
  - javassist.bytecode.annotation.AnnotationsWriter
    - javassist.bytecode.annotation.TypeAnnotationsWriter
  - javassist.compiler.ast.ASTree (implements java.io.Serializable)
    - javassist.compiler.ast.ASTList
      - javassist.compiler.ast.ArrayInit
      - javassist.compiler.ast.CastExpr (implements javassist.compiler.TokenId)
        - javassist.compiler.ast.InstanceOfExpr
      - javassist.compiler.ast.CondExpr
      - javassist.compiler.ast.Declarator (implements javassist.compiler.TokenId)
      - javassist.compiler.ast.Expr (implements javassist.compiler.TokenId)
        - javassist.compiler.ast.AssignExpr
        - javassist.compiler.ast.BinExpr
        - javassist.compiler.ast.CallExpr
      - javassist.compiler.ast.FieldDecl
      - javassist.compiler.ast.MethodDecl
      - javassist.compiler.ast.NewExpr (implements javassist.compiler.TokenId)
      - javassist.compiler.ast.Stmnt (implements javassist.compiler.TokenId)
    - javassist.compiler.ast.DoubleConst
    - javassist.compiler.ast.IntConst
    - javassist.compiler.ast.Keyword
    - javassist.compiler.ast.Pair
    - javassist.compiler.ast.StringL
    - javassist.compiler.ast.Symbol
      - javassist.compiler.ast.Member
      - javassist.compiler.ast.Variable
  - javassist.bytecode.AttributeInfo
    - javassist.bytecode.AnnotationDefaultAttribute
    - javassist.bytecode.AnnotationsAttribute
    - javassist.bytecode.BootstrapMethodsAttribute
    - javassist.bytecode.CodeAttribute (implements javassist.bytecode.Opcode)
    - javassist.bytecode.ConstantAttribute
    - javassist.bytecode.DeprecatedAttribute
    - javassist.bytecode.EnclosingMethodAttribute
    - javassist.bytecode.ExceptionsAttribute
    - javassist.bytecode.InnerClassesAttribute
    - javassist.bytecode.LineNumberAttribute
    - javassist.bytecode.LocalVariableAttribute
      - javassist.bytecode.LocalVariableTypeAttribute
    - javassist.bytecode.MethodParametersAttribute
    - javassist.bytecode.NestHostAttribute
    - javassist.bytecode.NestMembersAttribute
    - javassist.bytecode.ParameterAnnotationsAttribute
    - javassist.bytecode.SignatureAttribute
    - javassist.bytecode.SourceFileAttribute
    - javassist.bytecode.StackMap
    - javassist.bytecode.StackMapTable
    - javassist.bytecode.SyntheticAttribute
    - javassist.bytecode.TypeAnnotationsAttribute
  - javassist.bytecode.stackmap.BasicBlock
    - javassist.bytecode.analysis.ControlFlow.Block
  - javassist.bytecode.BootstrapMethodsAttribute.BootstrapMethod
  - javassist.bytecode.ByteArray
  - javassist.ByteArrayClassPath (implements javassist.ClassPath)
  - javassist.bytecode.Bytecode (implements java.lang.Cloneable, javassist.bytecode.Opcode)
  - javassist.tools.Callback
  - javassist.ClassClassPath (implements javassist.ClassPath)
  - javassist.bytecode.ClassFile
  - javassist.bytecode.ClassFilePrinter
  - javassist.bytecode.ClassFileWriter
  - javassist.bytecode.ClassFileWriter.ConstPoolWriter
  - javassist.bytecode.ClassFileWriter.FieldWriter
  - javassist.bytecode.ClassFileWriter.MethodWriter
  - java.lang.ClassLoader
    - javassist.Loader
      - javassist.tools.reflect.Loader
    - javassist.Loader.Simple
    - javassist.tools.web.Viewer
  - javassist.tools.reflect.ClassMetaobject (implements java.io.Serializable)
  - javassist.ClassPool
  - javassist.CodeConverter
  - javassist.CodeConverter.DefaultArrayAccessReplacementMethodNames (implements javassist.CodeConverter.ArrayAccessReplacementMethodNames)
  - javassist.bytecode.CodeIterator (implements javassist.bytecode.Opcode)
  - javassist.bytecode.CodeIterator.Gap
  - javassist.tools.reflect.Compiler
  - javassist.bytecode.ConstPool
  - javassist.bytecode.analysis.ControlFlow
  - javassist.bytecode.analysis.ControlFlow.Catcher
  - javassist.bytecode.analysis.ControlFlow.Node
  - javassist.CtClass
    - javassist.CtPrimitiveType
  - javassist.CtField.Initializer
  - javassist.CtMember
    - javassist.CtBehavior
      - javassist.CtConstructor
      - javassist.CtMethod
    - javassist.CtField
  - javassist.CtMethod.ConstParameter
  - javassist.CtNewConstructor
  - javassist.CtNewMethod
  - javassist.util.proxy.DefineClassHelper
  - javassist.util.proxy.DefinePackageHelper
  - javassist.runtime.Desc
  - javassist.bytecode.Descriptor
  - javassist.bytecode.Descriptor.Iterator
  - javassist.runtime.DotClass
  - javassist.tools.Dump
  - javassist.bytecode.ExceptionTable (implements java.lang.Cloneable)
  - javassist.bytecode.analysis.Executor (implements javassist.bytecode.Opcode)
  - javassist.expr.Expr (implements javassist.bytecode.Opcode)
    - javassist.expr.Cast
    - javassist.expr.FieldAccess
    - javassist.expr.Handler
    - javassist.expr.Instanceof
    - javassist.expr.MethodCall
      - javassist.expr.ConstructorCall
    - javassist.expr.NewArray
    - javassist.expr.NewExpr
  - javassist.expr.ExprEditor
  - javassist.util.proxy.FactoryHelper
  - javassist.bytecode.FieldInfo
  - javassist.bytecode.analysis.Frame
  - javassist.tools.framedump
  - javassist.bytecode.analysis.FramePrinter
  - javassist.util.HotSwapAgent
  - javassist.util.HotSwapper
  - javassist.runtime.Inner
  - java.io.InputStream (implements java.io.Closeable)
    - java.io.ObjectInputStream (implements java.io.ObjectInput, java.io.ObjectStreamConstants)
      - javassist.util.proxy.ProxyObjectInputStream
  - javassist.bytecode.InstructionPrinter (implements javassist.bytecode.Opcode)
  - javassist.bytecode.LineNumberAttribute.Pc
  - javassist.LoaderClassPath (implements javassist.ClassPath)
  - javassist.bytecode.annotation.MemberValue
    - javassist.bytecode.annotation.AnnotationMemberValue
    - javassist.bytecode.annotation.ArrayMemberValue
    - javassist.bytecode.annotation.BooleanMemberValue
    - javassist.bytecode.annotation.ByteMemberValue
    - javassist.bytecode.annotation.CharMemberValue
    - javassist.bytecode.annotation.ClassMemberValue
    - javassist.bytecode.annotation.DoubleMemberValue
    - javassist.bytecode.annotation.EnumMemberValue
    - javassist.bytecode.annotation.FloatMemberValue
    - javassist.bytecode.annotation.IntegerMemberValue
    - javassist.bytecode.annotation.LongMemberValue
    - javassist.bytecode.annotation.ShortMemberValue
    - javassist.bytecode.annotation.StringMemberValue
  - javassist.tools.reflect.Metaobject (implements java.io.Serializable)
  - javassist.bytecode.MethodInfo
  - javassist.Modifier
  - javassist.tools.rmi.ObjectImporter (implements java.io.Serializable)
  - java.io.OutputStream (implements java.io.Closeable, java.io.Flushable)
    - java.io.ObjectOutputStream (implements java.io.ObjectOutput, java.io.ObjectStreamConstants)
      - javassist.util.proxy.ProxyObjectOutputStream
  - javassist.util.proxy.ProxyFactory
  - javassist.tools.reflect.Reflection (implements javassist.Translator)
  - javassist.tools.rmi.RemoteRef (implements java.io.Serializable)
  - javassist.util.proxy.RuntimeSupport
  - javassist.tools.reflect.Sample
  - javassist.tools.rmi.Sample
  - javassist.SerialVersionUID
  - javassist.bytecode.SignatureAttribute.ClassSignature
  - javassist.bytecode.SignatureAttribute.MethodSignature
  - javassist.bytecode.SignatureAttribute.Type
    - javassist.bytecode.SignatureAttribute.BaseType
    - javassist.bytecode.SignatureAttribute.ObjectType
      - javassist.bytecode.SignatureAttribute.ArrayType
      - javassist.bytecode.SignatureAttribute.ClassType
        - javassist.bytecode.SignatureAttribute.NestedClassType
      - javassist.bytecode.SignatureAttribute.TypeVariable
  - javassist.bytecode.SignatureAttribute.TypeArgument
  - javassist.bytecode.SignatureAttribute.TypeParameter
  - javassist.bytecode.StackMap.Walker
  - javassist.bytecode.StackMap.Writer
  - javassist.bytecode.StackMapTable.Walker
  - javassist.bytecode.StackMapTable.Writer
  - javassist.tools.rmi.StubGenerator (implements javassist.Translator)
  - javassist.bytecode.analysis.Subroutine
  - javassist.bytecode.analysis.SubroutineScanner (implements javassist.bytecode.Opcode)
  - java.lang.ThreadLocal<T>
    - javassist.runtime.Cflow
  - java.lang.Throwable (implements java.io.Serializable)
    - java.lang.Error
      - javassist.bytecode.annotation.NoSuchClassError
    - java.lang.Exception
      - javassist.bytecode.BadBytecode
      - javassist.tools.web.BadHttpRequest
      - javassist.CannotCompileException
        - javassist.tools.reflect.CannotReflectException
        - javassist.bytecode.DuplicateMemberException
      - javassist.tools.reflect.CannotCreateException
      - javassist.NotFoundException
      - javassist.tools.rmi.ObjectNotFoundException
      - java.lang.RuntimeException
        - javassist.tools.reflect.CannotInvokeException
        - javassist.bytecode.CodeAttribute.RuntimeCopyException
        - javassist.tools.rmi.RemoteException
        - javassist.bytecode.StackMapTable.RuntimeCopyException
  - javassist.bytecode.analysis.Type
    - javassist.bytecode.analysis.MultiArrayType
    - javassist.bytecode.analysis.MultiType
  - javassist.URLClassPath (implements javassist.ClassPath)
  - javassist.bytecode.analysis.Util (implements javassist.bytecode.Opcode)
  - javassist.compiler.ast.Visitor
  - javassist.tools.web.Webserver
    - javassist.tools.rmi.AppletServer

## Interface Hierarchy

- javassist.bytecode.ClassFileWriter.AttributeWriter
- javassist.ClassPath
- javassist.CodeConverter.ArrayAccessReplacementMethodNames
- javassist.bytecode.annotation.MemberValueVisitor
- javassist.tools.reflect.Metalevel
- javassist.util.proxy.MethodFilter
- javassist.util.proxy.MethodHandler
- javassist.bytecode.Mnemonic
- javassist.bytecode.Opcode
- javassist.tools.rmi.Proxy
- javassist.util.proxy.Proxy
  - javassist.util.proxy.ProxyObject
- javassist.util.proxy.ProxyFactory.ClassLoaderProvider
- javassist.util.proxy.ProxyFactory.UniqueName
- javassist.Translator