com.io7m.jpra.model.type_expressions

## Interface TypeExprType<I,T>

- Type Parameters:
    `I` - The type of identifiers
    `T` - The type of evaluated types
  All Superinterfaces:
    ModelElementType
  All Known Implementing Classes:
    TypeExprArray, TypeExprBooleanSet, TypeExprFloat, TypeExprIntegerSigned, TypeExprIntegerSignedNormalized, TypeExprIntegerUnsigned, TypeExprIntegerUnsignedNormalized, TypeExprMatrix, TypeExprName, TypeExprString, TypeExprTypeOfField, TypeExprVector

      public interface TypeExprType<I,T>
      extends ModelElementType

  The type of type expressions.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `T` | `getType()`
    `<A,E extends Exception> A` | `matchType(TypeExprMatcherType<I,T,A,E> m)` Accept a matcher.

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

      `getLexicalInformation`

- - ### Method Detail

    - #### getType

          T getType()

      Returns:
        The assigned expression type

    - #### matchType

          <A,E extends Exception> A matchType(TypeExprMatcherType<I,T,A,E> m)
                                       throws E extends Exception

      Accept a 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 © 2016 <code@io7m.com> http://io7m.com