class QueryCompiler extends Logging

An immutable, stateless query compiler consisting of a series of phases

Source
QueryCompiler.scala
Linear Supertypes
Type Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. QueryCompiler
  2. Logging
  3. AnyRef
  4. Any
Implicitly
  1. by any2stringadd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new QueryCompiler(phases: Vector[Phase])

Value Members

  1. def +(p: Phase): QueryCompiler

    Return a new compiler with the new phase added at the end.

  2. def ++(ps: Seq[Phase]): QueryCompiler

    Return a new compiler with the new phases added at the end.

  3. def -(p: Phase): QueryCompiler

    Return a new compiler without the given phase (or a different implementation of the same phase name.

  4. def addAfter(p: Phase, after: Phase): QueryCompiler

    Return a new compiler with the new phase added directly after another phase (or a different implementation of the same phase name).

  5. def addBefore(p: Phase, before: Phase): QueryCompiler

    Return a new compiler with the new phase added directly before another phase (or a different implementation of the same phase name).

  6. val phases: Vector[Phase]
  7. def replace(p: Phase): QueryCompiler

    Return a new compiler that replaces an existing phase by a new one with the same name.

    Return a new compiler that replaces an existing phase by a new one with the same name. The new phase must have a State that is assignable to the original phase's state.

  8. def run(state: CompilerState): CompilerState

    Compile an AST in an existing CompilerState.

    Compile an AST in an existing CompilerState. This can be used for triggering compilation of subtrees within the current CompilerState.

  9. def run(tree: Node): CompilerState

    Compile an AST with a new CompilerState.

  10. def runBefore(before: Phase, state: CompilerState): CompilerState

    Compile an AST in an existing CompilerState, stopping just before the specified phase.

    Compile an AST in an existing CompilerState, stopping just before the specified phase. This can be used for triggering compilation of subtrees within the current CompilerState.