com.io7m.jpra.model.type_declarations

## Interface TypeDeclType<I,T>

- Type Parameters:
    `I` - The type of identifiers
    `T` - The type of type information
  All Superinterfaces:
    ModelElementType, StatementType<I,T>
  All Known Implementing Classes:
    TypeDeclPacked, TypeDeclRecord

      public interface TypeDeclType<I,T>
      extends ModelElementType, StatementType<I,T>

  The type of type declarations.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `I` | `getIdentifier()`
    `TypeName` | `getName()`
    `T` | `getType()`
    `<A,E extends Exception> A` | `matchTypeDeclaration(TypeDeclMatcherType<I,T,A,E> m)` Accept a type declaration matcher.

    - ### Methods inherited from interface com.io7m.jpra.model.ModelElementType

      `getLexicalInformation`

    - ### Methods inherited from interface com.io7m.jpra.model.statements.StatementType

      `matchStatement`

- - ### Method Detail

    - #### getType

          T getType()

      Returns:
        The type

    - #### getIdentifier

          I getIdentifier()

      Returns:
        The identifier

    - #### getName

          TypeName getName()

      Returns:
        The type name

    - #### matchTypeDeclaration

          <A,E extends Exception> A matchTypeDeclaration(TypeDeclMatcherType<I,T,A,E> m)
                                                  throws E extends Exception

      Accept a type declaration matcher.
      Type Parameters:
        `A` - The type of returned values
        `E` - The type of raised exceptions
      Parameters:
        `m` - The matcher
      Returns:
        The value returned by `m`
      Throws:
        `E` - If `m` raises `E`
        `E extends Exception`

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