com.io7m.jpra.model.statements

## Interface StatementMatcherType<I,T,A,E extends Exception>

- Type Parameters:
    `I` - The type of identifiers
    `T` - The type of type information
    `A` - The type of returned values
    `E` - The type of raised exceptions

      public interface StatementMatcherType<I,T,A,E extends Exception>

  A statement matcher.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `A` | `matchPackageBegin(StatementPackageBegin<I,T> s)` Match a `package-begin` statement.
    `A` | `matchPackageEnd(StatementPackageEnd<I,T> s)` Match a `package-end` statement.
    `A` | `matchPackageImport(StatementPackageImport<I,T> s)` Match an `import` statement.
    `A` | `matchShowSize(StatementCommandSize<I,T> s)` Match a `:size` command.
    `A` | `matchShowType(StatementCommandType<I,T> s)` Match a `:type` command.
    `A` | `matchTypeDecl(TypeDeclType<I,T> s)` Match a type declaration statement.

- - ### Method Detail

    - #### matchPackageBegin

          A matchPackageBegin(StatementPackageBegin<I,T> s)
                       throws E extends Exception

      Match a `package-begin` statement.
      Parameters:
        `s` - The statement
      Returns:
        A value of `A`
      Throws:
        `E` - If required
        `E extends Exception`

    - #### matchPackageEnd

          A matchPackageEnd(StatementPackageEnd<I,T> s)
                     throws E extends Exception

      Match a `package-end` statement.
      Parameters:
        `s` - The statement
      Returns:
        A value of `A`
      Throws:
        `E` - If required
        `E extends Exception`

    - #### matchPackageImport

          A matchPackageImport(StatementPackageImport<I,T> s)
                        throws E extends Exception

      Match an `import` statement.
      Parameters:
        `s` - The statement
      Returns:
        A value of `A`
      Throws:
        `E` - If required
        `E extends Exception`

    - #### matchTypeDecl

          A matchTypeDecl(TypeDeclType<I,T> s)
                   throws E extends Exception

      Match a type declaration statement.
      Parameters:
        `s` - The statement
      Returns:
        A value of `A`
      Throws:
        `E` - If required
        `E extends Exception`

    - #### matchShowType

          A matchShowType(StatementCommandType<I,T> s)
                   throws E extends Exception

      Match a `:type` command.
      Parameters:
        `s` - The statement
      Returns:
        A value of `A`
      Throws:
        `E` - If required
        `E extends Exception`

    - #### matchShowSize

          A matchShowSize(StatementCommandSize<I,T> s)
                   throws E extends Exception

      Match a `:size` command.
      Parameters:
        `s` - The statement
      Returns:
        A value of `A`
      Throws:
        `E` - If required
        `E extends Exception`

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