Package com.io7m.cedarbridge.exprsrc.api

# Interface CBExpressionSourceType

All Superinterfaces:
  `AutoCloseable`, `CBExpressionLineLogType`, `Closeable`

All Known Implementing Classes:
  `CBExpressionSource`

public interface CBExpressionSourceType extends Closeable, CBExpressionLineLogType
A source of expressions. The source provides access to previously encountered lines of text in order to provide good diagnostic messages.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Optional<com.io7m.jsx.SExpressionType>`
  `parseExpressionOrEOF()`
  `URI`
  `source()`

  ### Methods inherited from interface com.io7m.cedarbridge.exprsrc.api.CBExpressionLineLogType

  `contextualize, showLineFor`

  ### Methods inherited from interface java.io.Closeable

  `close`

- ## Method Details

  - ### source

    URI source()
    Returns:
      The URI of the source

  - ### parseExpressionOrEOF

    Optional<com.io7m.jsx.SExpressionType> parseExpressionOrEOF() throws com.io7m.jsx.api.parser.JSXParserException, IOException
    Returns:
      The next expression, or `Optional.empty()` if EOF is reached
    Throws:
      `com.io7m.jsx.api.parser.JSXParserException` - On parse errors
      `IOException` - On I/O errors