class EffectElaborator[F[_]] extends Phase
A compiler phase which partitions a query for execution which may invoke multiple effect handlers.
This phase transforms the input query by assigning subtrees to effect
handlers as specified by the supplied emapping
.
The mapping has Type
and field name pairs as keys and effect handlers
as values. When the traversal of the input query visits a Select
node
with type Type.field name
it will replace the
Select
with an Effect
node comprising,
1. the effect handler which will be responsible for running the effect and evaluating the subquery against its result. 2. the subquery which will be evaluated by the effect handler.
- Source
- compiler.scala
Linear Supertypes
Ordering
- Alphabetic
- By Inheritance
Inherited
- EffectElaborator
- Phase
- AnyRef
- Any
- Hide All
- Show All
Visibility
- Public
- Protected
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- val TypenameType: ObjectType
- Definition Classes
- Phase
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- def transform(query: Query): Elab[Query]
Transform the supplied query algebra term
query
.Transform the supplied query algebra term
query
.- Definition Classes
- EffectElaborator → Phase
- def transformSelect(fieldName: String, alias: Option[String], child: Query): Elab[Query]
- Definition Classes
- Phase
- def validateSubselection(fieldName: String, child: Query): Elab[Unit]
- Definition Classes
- Phase
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()