# Hierarchy For Package org.python.modules.jffi

Package Hierarchies:

- All Packages

## Class Hierarchy

- java.lang.Object
  - org.python.modules.jffi.CodegenUtils
  - org.python.modules.jffi.HeapMemory (implements org.python.modules.jffi.Memory)
  - org.python.modules.jffi.InvalidMemory (implements org.python.modules.jffi.Memory)
    - org.python.modules.jffi.NullMemory (implements org.python.modules.jffi.DirectMemory)
  - org.python.modules.jffi.Invoker
    - org.python.modules.jffi.JITInvoker
      - org.python.modules.jffi.JITInvoker0
      - org.python.modules.jffi.JITInvoker1
      - org.python.modules.jffi.JITInvoker2
      - org.python.modules.jffi.JITInvoker3
      - org.python.modules.jffi.JITInvoker4
      - org.python.modules.jffi.JITInvoker5
      - org.python.modules.jffi.JITInvoker6
  - org.python.modules.jffi.jffi (implements org.python.core.ClassDictInit)
  - org.python.modules.jffi.JITRuntime
  - org.python.modules.jffi.JITSignature
  - org.objectweb.asm.MethodVisitor
    - org.python.modules.jffi.SkinnyMethodAdapter (implements org.objectweb.asm.Opcodes)
  - org.python.modules.jffi.NativeDataConverter
  - org.python.core.PyObject (implements java.io.Serializable)
    - org.python.modules.jffi.BasePointer (implements org.python.modules.jffi.Pointer)
      - org.python.modules.jffi.DynamicLibrary.Symbol
        - org.python.modules.jffi.DynamicLibrary.DataSymbol (implements org.python.expose.ExposeAsSuperclass)
        - org.python.modules.jffi.DynamicLibrary.TextSymbol (implements org.python.expose.ExposeAsSuperclass)
      - org.python.modules.jffi.Function (implements org.python.core.Traverseproc)
    - org.python.modules.jffi.ByReference (implements org.python.modules.jffi.Pointer)
    - org.python.modules.jffi.CData (implements org.python.core.Traverseproc)
      - org.python.modules.jffi.AbstractMemoryCData (implements org.python.modules.jffi.Pointer)
        - org.python.modules.jffi.PointerCData (implements org.python.modules.jffi.Pointer)
        - org.python.modules.jffi.StringCData
      - org.python.modules.jffi.ArrayCData (implements org.python.modules.jffi.Pointer)
      - org.python.modules.jffi.ScalarCData
      - org.python.modules.jffi.Structure (implements org.python.modules.jffi.Pointer, org.python.core.Traverseproc)
    - org.python.modules.jffi.CType
      - org.python.modules.jffi.StructLayout (implements org.python.core.Traverseproc)
    - org.python.modules.jffi.DynamicLibrary
    - org.python.core.PyIterator (implements java.lang.Iterable<T>, org.python.core.Traverseproc)
      - org.python.modules.jffi.ArrayCData.ArrayIter
    - org.python.modules.jffi.StructLayout.Field (implements org.python.core.Traverseproc)
      - org.python.modules.jffi.StructLayout.ScalarField

## Interface Hierarchy

- org.python.modules.jffi.JITMethodGenerator
- org.python.modules.jffi.Memory
  - org.python.modules.jffi.DirectMemory
    - org.python.modules.jffi.AllocatedDirectMemory
- org.python.modules.jffi.Pointer

## Enum Hierarchy

- java.lang.Object
  - java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable)
    - org.python.modules.jffi.NativeType