Package com.io7m.cedarbridge.schema.compiler.internal

# Class CBSchemaCompiler

java.lang.Object
com.io7m.cedarbridge.schema.compiler.internal.CBSchemaCompiler

All Implemented Interfaces:
  `CBSchemaCompilerType`

public final class CBSchemaCompiler extends Object implements CBSchemaCompilerType
A schema compiler.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `CBSchemaCompiler(Consumer<CBError> inErrorConsumer, CBExpressionSourceFactoryType inSources, CBParserFactoryType inParsers, CBBinderFactoryType inBinders, CBTypeCheckerFactoryType inTypers, CBLoaderType inLoader, CBSchemaCompilerConfiguration inConfiguration)`
  A schema compiler.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `CBSchemaCompilation`
  `execute()`
  Execute the compiler.
  `CBLoaderType`
  `loader()`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### CBSchemaCompiler

    public CBSchemaCompiler(Consumer<CBError> inErrorConsumer, CBExpressionSourceFactoryType inSources, CBParserFactoryType inParsers, CBBinderFactoryType inBinders, CBTypeCheckerFactoryType inTypers, CBLoaderType inLoader, CBSchemaCompilerConfiguration inConfiguration)
    A schema compiler.
    Parameters:
      `inConfiguration` - The compiler configuration
      `inErrorConsumer` - An error consumer
      `inLoader` - The package loader
      `inBinders` - A source of binders
      `inParsers` - A source of parsers
      `inSources` - A source of expression sources
      `inTypers` - A source of type checkers

- ## Method Details

  - ### loader

    public CBLoaderType loader()
    Specified by:
      `loader` in interface `CBSchemaCompilerType`
    Returns:
      The package loader

  - ### execute

    public CBSchemaCompilation execute() throws CBSchemaCompilerException
    Description copied from interface: `CBSchemaCompilerType`
    Execute the compiler.
    Specified by:
      `execute` in interface `CBSchemaCompilerType`
    Returns:
      The result of compilation
    Throws:
      `CBSchemaCompilerException` - On compilation errors