# Hierarchy For All Packages

Package Hierarchies:

- com.io7m.jpra.compiler.core,
- com.io7m.jpra.compiler.core.checker,
- com.io7m.jpra.compiler.core.driver,
- com.io7m.jpra.compiler.core.parser,
- com.io7m.jpra.compiler.core.pipeline,
- com.io7m.jpra.compiler.core.resolver,
- com.io7m.jpra.compiler.frontend,
- com.io7m.jpra.compiler.java,
- com.io7m.jpra.core,
- com.io7m.jpra.documentation,
- com.io7m.jpra.model,
- com.io7m.jpra.model.contexts,
- com.io7m.jpra.model.loading,
- com.io7m.jpra.model.names,
- com.io7m.jpra.model.size_expressions,
- com.io7m.jpra.model.statements,
- com.io7m.jpra.model.type_declarations,
- com.io7m.jpra.model.type_expressions,
- com.io7m.jpra.model.types,
- com.io7m.jpra.runtime.java

## Class Hierarchy

- java.lang.Object
  - com.io7m.jpra.documentation.Documentation
  - com.io7m.jpra.model.names.FieldName (implements com.io7m.jpra.model.ModelElementType)
  - com.io7m.jpra.model.names.FieldPath
  - com.io7m.jpra.model.names.FieldReference
  - com.io7m.jpra.model.contexts.GlobalContexts (implements com.io7m.jpra.model.contexts.GlobalContextType)
  - com.io7m.jpra.compiler.core.checker.JPRAChecker (implements com.io7m.jpra.compiler.core.checker.JPRACheckerType)
  - com.io7m.jpra.compiler.core.checker.JPRACheckerStandardCapabilities (implements com.io7m.jpra.compiler.core.checker.JPRACheckerCapabilitiesType)
  - com.io7m.jpra.runtime.java.JPRACursor1DByteBufferedChecked<T> (implements com.io7m.jpra.runtime.java.JPRACursor1DType<T>)
  - com.io7m.jpra.runtime.java.JPRACursor1DByteBufferedUnchecked<T> (implements com.io7m.jpra.runtime.java.JPRACursor1DType<T>)
  - com.io7m.jpra.runtime.java.JPRACursor2DByteBufferedChecked<T> (implements com.io7m.jpra.runtime.java.JPRACursor2DType<T>)
  - com.io7m.jpra.runtime.java.JPRACursor2DByteBufferedUnchecked<T> (implements com.io7m.jpra.runtime.java.JPRACursor2DType<T>)
  - com.io7m.jpra.compiler.core.driver.JPRADriver (implements com.io7m.jpra.compiler.core.driver.JPRADriverType)
  - com.io7m.jpra.compiler.java.JPRAJavaGenerator (implements com.io7m.jpra.compiler.java.JPRAJavaGeneratorType)
  - com.io7m.jpra.compiler.java.JPRAJavaWriter (implements com.io7m.jpra.compiler.java.JPRAJavaWriterType)
  - com.io7m.jpra.compiler.java.JPRAMasks
  - com.io7m.jpra.compiler.core.parser.JPRAParser (implements com.io7m.jpra.compiler.core.parser.JPRAParserType)
  - com.io7m.jpra.compiler.core.pipeline.JPRAPipeline (implements com.io7m.jpra.compiler.core.pipeline.JPRAPipelineType)
  - com.io7m.jpra.compiler.core.JPRAProblemFormatter (implements com.io7m.jpra.compiler.core.JPRAProblemFormatterType)
  - com.io7m.jpra.compiler.core.parser.JPRAReferenceParser (implements com.io7m.jpra.compiler.core.parser.JPRAReferenceParserType)
  - com.io7m.jpra.compiler.core.resolver.JPRAResolver (implements com.io7m.jpra.compiler.core.resolver.JPRAResolverType)
  - com.io7m.jpra.runtime.java.JPRAStringCursorByteBuffered (implements com.io7m.jpra.runtime.java.JPRAStringCursorType)
  - com.io7m.jpra.runtime.java.JPRATypeModel
  - com.io7m.jpra.runtime.java.JPRATypeModelType.JPRAArrayType (implements com.io7m.jpra.runtime.java.JPRATypeModelType.JPRATypeType)
    - com.io7m.jpra.runtime.java.JPRATypeModel.JPRAArray
  - com.io7m.jpra.runtime.java.JPRATypeModelType.JPRABooleanSetType (implements com.io7m.jpra.runtime.java.JPRATypeModelType.JPRATypeType)
    - com.io7m.jpra.runtime.java.JPRATypeModel.JPRABooleanSet
  - com.io7m.jpra.runtime.java.JPRATypeModelType.JPRAFloatType (implements com.io7m.jpra.runtime.java.JPRATypeModelType.JPRAScalarType)
    - com.io7m.jpra.runtime.java.JPRATypeModel.JPRAFloat
  - com.io7m.jpra.runtime.java.JPRATypeModelType.JPRAIntegerSignedNormalizedType (implements com.io7m.jpra.runtime.java.JPRATypeModelType.JPRAScalarType)
    - com.io7m.jpra.runtime.java.JPRATypeModel.JPRAIntegerSignedNormalized
  - com.io7m.jpra.runtime.java.JPRATypeModelType.JPRAIntegerSignedType (implements com.io7m.jpra.runtime.java.JPRATypeModelType.JPRAScalarType)
    - com.io7m.jpra.runtime.java.JPRATypeModel.JPRAIntegerSigned
  - com.io7m.jpra.runtime.java.JPRATypeModelType.JPRAIntegerUnsignedNormalizedType (implements com.io7m.jpra.runtime.java.JPRATypeModelType.JPRAScalarType)
    - com.io7m.jpra.runtime.java.JPRATypeModel.JPRAIntegerUnsignedNormalized
  - com.io7m.jpra.runtime.java.JPRATypeModelType.JPRAIntegerUnsignedType (implements com.io7m.jpra.runtime.java.JPRATypeModelType.JPRAScalarType)
    - com.io7m.jpra.runtime.java.JPRATypeModel.JPRAIntegerUnsigned
  - com.io7m.jpra.runtime.java.JPRATypeModelType.JPRAMatrixType (implements com.io7m.jpra.runtime.java.JPRATypeModelType.JPRATypeType)
    - com.io7m.jpra.runtime.java.JPRATypeModel.JPRAMatrix
  - com.io7m.jpra.runtime.java.JPRATypeModelType.JPRAStringType (implements com.io7m.jpra.runtime.java.JPRATypeModelType.JPRATypeType)
    - com.io7m.jpra.runtime.java.JPRATypeModel.JPRAString
  - com.io7m.jpra.runtime.java.JPRATypeModelType.JPRAUserDefinedType (implements com.io7m.jpra.runtime.java.JPRATypeModelType.JPRATypeType)
    - com.io7m.jpra.runtime.java.JPRATypeModel.JPRAUserDefined
  - com.io7m.jpra.runtime.java.JPRATypeModelType.JPRAVectorType (implements com.io7m.jpra.runtime.java.JPRATypeModelType.JPRATypeType)
    - com.io7m.jpra.runtime.java.JPRATypeModel.JPRAVector
  - com.io7m.jpra.compiler.frontend.Main
  - com.io7m.jpra.compiler.frontend.Main.CommandCheck
  - com.io7m.jpra.compiler.frontend.Main.CommandGenerateJava
  - com.io7m.jpra.model.PackageImport (implements com.io7m.jpra.model.ModelElementType)
  - com.io7m.jpra.model.names.PackageNameQualified (implements com.io7m.jpra.model.ModelElementType)
  - com.io7m.jpra.model.names.PackageNameUnqualified (implements com.io7m.jpra.model.ModelElementType)
  - com.io7m.jpra.model.type_declarations.PackedFieldDecl
  - com.io7m.jpra.model.type_declarations.PackedFieldDeclPaddingBits<I,T> (implements com.io7m.jpra.model.type_declarations.PackedFieldDeclType<I,T>)
  - com.io7m.jpra.model.type_declarations.PackedFieldDeclValue<I,T> (implements com.io7m.jpra.model.type_declarations.PackedFieldDeclType<I,T>)
  - com.io7m.jpra.compiler.java.PackedFieldImplementationProcessor (implements com.io7m.jpra.model.types.TypeIntegerMatcherType<A,E>, com.io7m.jpra.model.types.TypeMatcherType<A,E>)
  - com.io7m.jpra.compiler.java.PackedFieldInterfaceProcessor (implements com.io7m.jpra.model.types.TypeIntegerMatcherType<A,E>, com.io7m.jpra.model.types.TypeMatcherType<A,E>)
  - com.io7m.jpra.model.type_declarations.RecordFieldDecl
  - com.io7m.jpra.model.type_declarations.RecordFieldDeclPaddingOctets<I,T> (implements com.io7m.jpra.model.type_declarations.RecordFieldDeclType<I,T>)
  - com.io7m.jpra.model.type_declarations.RecordFieldDeclValue<I,T> (implements com.io7m.jpra.model.type_declarations.RecordFieldDeclType<I,T>)
  - com.io7m.jpra.model.types.Size<U>
  - com.io7m.jpra.model.size_expressions.SizeExprConstant<I,T> (implements com.io7m.jpra.model.size_expressions.SizeExprType<I,T>)
  - com.io7m.jpra.model.size_expressions.SizeExprInBits<I,T> (implements com.io7m.jpra.model.size_expressions.SizeExprType<I,T>)
  - com.io7m.jpra.model.size_expressions.SizeExprInOctets<I,T> (implements com.io7m.jpra.model.size_expressions.SizeExprType<I,T>)
  - com.io7m.jpra.model.statements.StatementCommandSize<I,T> (implements com.io7m.jpra.model.ModelElementType, com.io7m.jpra.model.statements.StatementType<I,T>)
  - com.io7m.jpra.model.statements.StatementCommandType<I,T> (implements com.io7m.jpra.model.ModelElementType, com.io7m.jpra.model.statements.StatementType<I,T>)
  - com.io7m.jpra.model.statements.StatementPackageBegin<I,T> (implements com.io7m.jpra.model.ModelElementType, com.io7m.jpra.model.statements.StatementType<I,T>)
  - com.io7m.jpra.model.statements.StatementPackageEnd<I,T> (implements com.io7m.jpra.model.ModelElementType, com.io7m.jpra.model.statements.StatementType<I,T>)
  - com.io7m.jpra.model.statements.StatementPackageImport<I,T> (implements com.io7m.jpra.model.ModelElementType, com.io7m.jpra.model.statements.StatementType<I,T>)
  - com.io7m.jpra.model.types.TArray (implements com.io7m.jpra.model.types.TType)
  - com.io7m.jpra.model.types.TBooleanSet (implements com.io7m.jpra.model.types.TType)
  - com.io7m.jpra.model.types.TFloat (implements com.io7m.jpra.model.types.TypeScalarType)
  - java.lang.Throwable (implements java.io.Serializable)
    - java.lang.Exception
      - com.io7m.jpra.core.JPRAException
        - com.io7m.jpra.compiler.core.JPRACompilerException
          - com.io7m.jpra.compiler.core.checker.JPRACompilerCheckerException
          - com.io7m.jpra.compiler.core.JPRACompilerLexerException
          - com.io7m.jpra.compiler.core.parser.JPRACompilerParseException
          - com.io7m.jpra.compiler.core.resolver.JPRACompilerResolverException
        - com.io7m.jpra.core.JPRAIOException
        - com.io7m.jpra.model.loading.JPRAModelCircularImportException
        - com.io7m.jpra.model.loading.JPRAModelLoadingException
  - com.io7m.jpra.model.types.TIntegerSigned (implements com.io7m.jpra.model.types.TIntegerType)
  - com.io7m.jpra.model.types.TIntegerSignedNormalized (implements com.io7m.jpra.model.types.TIntegerType)
  - com.io7m.jpra.model.types.TIntegerUnsigned (implements com.io7m.jpra.model.types.TIntegerType)
  - com.io7m.jpra.model.types.TIntegerUnsignedNormalized (implements com.io7m.jpra.model.types.TIntegerType)
  - com.io7m.jpra.model.types.TMatrix (implements com.io7m.jpra.model.types.TType)
  - com.io7m.jpra.model.types.TPacked (implements com.io7m.jpra.model.types.TType, com.io7m.jpra.model.types.TypeUserDefinedType)
  - com.io7m.jpra.model.types.TPacked.FieldPaddingBits (implements com.io7m.jpra.model.types.TPacked.FieldType)
  - com.io7m.jpra.model.types.TPacked.FieldValue (implements com.io7m.jpra.model.types.TPacked.FieldType)
  - com.io7m.jpra.model.types.TRecord (implements com.io7m.jpra.model.types.TType, com.io7m.jpra.model.types.TypeUserDefinedType)
  - com.io7m.jpra.model.types.TRecord.FieldPaddingOctets (implements com.io7m.jpra.model.types.TRecord.FieldType)
  - com.io7m.jpra.model.types.TRecord.FieldValue (implements com.io7m.jpra.model.types.TRecord.FieldType)
  - com.io7m.jpra.model.types.TRecords
  - com.io7m.jpra.model.types.TRecords.TypeLookupFailed (implements com.io7m.jpra.model.types.TRecords.TypeLookupType)
  - com.io7m.jpra.model.types.TRecords.TypeLookupSucceeded (implements com.io7m.jpra.model.types.TRecords.TypeLookupType)
  - com.io7m.jpra.model.types.TString (implements com.io7m.jpra.model.types.TType)
  - com.io7m.jpra.model.types.TVector (implements com.io7m.jpra.model.types.TType)
  - com.io7m.jpra.model.type_declarations.TypeDeclPacked<I,T> (implements com.io7m.jpra.model.type_declarations.TypeDeclType<I,T>)
  - com.io7m.jpra.model.type_declarations.TypeDeclRecord<I,T> (implements com.io7m.jpra.model.type_declarations.TypeDeclType<I,T>)
  - com.io7m.jpra.model.type_expressions.TypeExprArray<I,T> (implements com.io7m.jpra.model.type_expressions.TypeExprType<I,T>)
  - com.io7m.jpra.model.type_expressions.TypeExprBooleanSet<I,T> (implements com.io7m.jpra.model.type_expressions.TypeExprType<I,T>)
  - com.io7m.jpra.model.type_expressions.TypeExprFloat<I,T> (implements com.io7m.jpra.model.type_expressions.TypeExprType<I,T>)
  - com.io7m.jpra.model.type_expressions.TypeExprIntegerSigned<I,T> (implements com.io7m.jpra.model.type_expressions.TypeExprType<I,T>)
  - com.io7m.jpra.model.type_expressions.TypeExprIntegerSignedNormalized<I,T> (implements com.io7m.jpra.model.type_expressions.TypeExprType<I,T>)
  - com.io7m.jpra.model.type_expressions.TypeExprIntegerUnsigned<I,T> (implements com.io7m.jpra.model.type_expressions.TypeExprType<I,T>)
  - com.io7m.jpra.model.type_expressions.TypeExprIntegerUnsignedNormalized<I,T> (implements com.io7m.jpra.model.type_expressions.TypeExprType<I,T>)
  - com.io7m.jpra.model.type_expressions.TypeExprMatrix<I,T> (implements com.io7m.jpra.model.type_expressions.TypeExprType<I,T>)
  - com.io7m.jpra.model.type_expressions.TypeExprName<I,T> (implements com.io7m.jpra.model.type_expressions.TypeExprType<I,T>)
  - com.io7m.jpra.model.type_expressions.TypeExprString<I,T> (implements com.io7m.jpra.model.type_expressions.TypeExprType<I,T>)
  - com.io7m.jpra.model.type_expressions.TypeExprTypeOfField<I,T> (implements com.io7m.jpra.model.type_expressions.TypeExprType<I,T>)
  - com.io7m.jpra.model.type_expressions.TypeExprVector<I,T> (implements com.io7m.jpra.model.type_expressions.TypeExprType<I,T>)
  - com.io7m.jpra.model.names.TypeName (implements com.io7m.jpra.model.ModelElementType)
  - com.io7m.jpra.model.names.TypeReference
  - com.io7m.jpra.model.names.UnionCaseName (implements com.io7m.jpra.model.ModelElementType)
  - com.io7m.jpra.model.Unresolved
  - com.io7m.jpra.model.Untyped

## Interface Hierarchy

- com.io7m.jpra.model.contexts.GlobalContextType
- com.io7m.jpra.model.names.IdentifierType
- com.io7m.jpra.compiler.core.checker.JPRACheckerCapabilitiesType
- com.io7m.jpra.compiler.core.checker.JPRACheckerType
- com.io7m.jpra.runtime.java.JPRACursorByteReadableType
  - com.io7m.jpra.runtime.java.JPRACursor1DType<T> (also extends com.io7m.jpra.runtime.java.JPRACursorType<T>)
  - com.io7m.jpra.runtime.java.JPRACursor2DType<T> (also extends com.io7m.jpra.runtime.java.JPRACursorType<T>)
- com.io7m.jpra.runtime.java.JPRACursorType<T>
  - com.io7m.jpra.runtime.java.JPRACursor1DType<T> (also extends com.io7m.jpra.runtime.java.JPRACursorByteReadableType)
  - com.io7m.jpra.runtime.java.JPRACursor2DType<T> (also extends com.io7m.jpra.runtime.java.JPRACursorByteReadableType)
- com.io7m.jpra.compiler.core.driver.JPRADriverType
- com.io7m.jpra.compiler.java.JPRAJavaGeneratorType
- com.io7m.jpra.compiler.java.JPRAJavaWriterType
- com.io7m.jpra.model.loading.JPRAPackageLoaderType
- com.io7m.jpra.compiler.core.parser.JPRAParserType
- com.io7m.jpra.compiler.core.pipeline.JPRAPipelineType
- com.io7m.jpra.compiler.core.JPRAProblemFormatterType
- com.io7m.jpra.compiler.core.parser.JPRAReferenceParserType
- com.io7m.jpra.compiler.core.resolver.JPRAResolverType
- com.io7m.jpra.runtime.java.JPRAStringCursorReadableType
  - com.io7m.jpra.runtime.java.JPRAStringCursorType (also extends com.io7m.jpra.runtime.java.JPRAStringCursorWritableType)
- com.io7m.jpra.runtime.java.JPRAStringCursorWritableType
  - com.io7m.jpra.runtime.java.JPRAStringCursorType (also extends com.io7m.jpra.runtime.java.JPRAStringCursorReadableType)
- com.io7m.jpra.runtime.java.JPRATypeModelType
- com.io7m.jpra.runtime.java.JPRATypeModelType.JPRAScalarMatcherType<A,E>
- com.io7m.jpra.runtime.java.JPRATypeModelType.JPRATypeMatcherType<A,E>
- com.io7m.jpra.runtime.java.JPRATypeModelType.JPRATypeType
  - com.io7m.jpra.runtime.java.JPRATypeModelType.JPRAScalarType
- com.io7m.jpra.runtime.java.JPRAValueByteBufferedConstructorType<T>
- com.io7m.jpra.runtime.java.JPRAValueType
- com.io7m.jpra.model.ModelElementType
  - com.io7m.jpra.model.contexts.PackageContextType
  - com.io7m.jpra.model.type_declarations.PackedFieldDeclType<I,T>
  - com.io7m.jpra.model.type_declarations.RecordFieldDeclType<I,T>
  - com.io7m.jpra.model.size_expressions.SizeExprType<I,T>
  - com.io7m.jpra.model.types.TIntegerType
  - com.io7m.jpra.model.types.TPacked.FieldType
  - com.io7m.jpra.model.types.TRecord.FieldType
  - com.io7m.jpra.model.types.TType
    - com.io7m.jpra.model.types.TIntegerType
    - com.io7m.jpra.model.types.TypeScalarType
      - com.io7m.jpra.model.types.TIntegerType
  - com.io7m.jpra.model.type_declarations.TypeDeclType<I,T> (also extends com.io7m.jpra.model.statements.StatementType<I,T>)
  - com.io7m.jpra.model.type_expressions.TypeExprType<I,T>
  - com.io7m.jpra.model.types.TypeScalarType
    - com.io7m.jpra.model.types.TIntegerType
- com.io7m.jpra.model.type_declarations.PackedFieldDeclMatcherType<I,T,A,E>
- com.io7m.jpra.model.type_declarations.RecordFieldDeclMatcherType<I,T,A,E>
- com.io7m.jpra.model.size_expressions.SizeExprMatcherType<I,T,A,E>
- com.io7m.jpra.model.types.SizeUnitType
  - com.io7m.jpra.model.types.SizeUnitBitsType
  - com.io7m.jpra.model.types.SizeUnitOctetsType
- com.io7m.jpra.model.statements.StatementMatcherType<I,T,A,E>
- com.io7m.jpra.model.statements.StatementType<I,T>
  - com.io7m.jpra.model.type_declarations.TypeDeclType<I,T> (also extends com.io7m.jpra.model.ModelElementType)
- com.io7m.jpra.model.types.TPacked.FieldMatcherType<A,E>
- com.io7m.jpra.model.types.TPackedBuilderType
- com.io7m.jpra.model.types.TRecord.FieldMatcherType<A,E>
- com.io7m.jpra.model.types.TRecordBuilderType
- com.io7m.jpra.model.types.TRecords.TypeLookupType
- com.io7m.jpra.model.type_declarations.TypeDeclMatcherType<I,T,A,E>
- com.io7m.jpra.model.type_expressions.TypeExprMatcherType<I,T,A,E>
- com.io7m.jpra.model.types.TypeIntegerMatcherType<A,E>
- com.io7m.jpra.model.types.TypeMatcherType<A,E>
- com.io7m.jpra.model.types.TypeScalarMatcherType<A,E>
- com.io7m.jpra.model.types.TypeUserDefinedMatcherType<A,E>
- com.io7m.jpra.model.types.TypeUserDefinedType

## Annotation Type Hierarchy

- com.io7m.jpra.runtime.java.JPRAStyleType (implements java.lang.annotation.Annotation)

## Enum Hierarchy

- java.lang.Object
  - java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable)
    - com.io7m.jpra.compiler.core.checker.JPRACheckerErrorCode
    - com.io7m.jpra.compiler.core.parser.JPRAParseErrorCode
    - com.io7m.jpra.compiler.core.resolver.JPRAResolverErrorCode
    - com.io7m.jpra.runtime.java.JPRAStringTruncation

Copyright © 2016 <code@io7m.com> http://io7m.com