AppendCpsTree

cps.macros.forest.CpsTreeScope.AppendCpsTree
case class AppendCpsTree(frs: CpsTree, snd: CpsTree) extends CpsTree

append cps tree, which is frs and then snd. we use this representation instead Mapped/Flatmapped in cases, where we later can apply await to append term and simplify tree instead wrapping awaited tree in extra flatMap

Attributes

Graph
Supertypes
trait Serializable
trait Product
trait Equals
class CpsTree
class Object
trait Matchable
class Any
Show all

Members list

Value members

Concrete methods

override def applyAwait(newOtpe: TypeRepr): CpsTree

Attributes

Definition Classes
override def castOtpe(ntpe: TypeRepr): CpsTree

cast CpsTree to keep newOtpe.type inside monad.

cast CpsTree to keep newOtpe.type inside monad.

Attributes

Definition Classes
override def changeOwner(newOwner: Symbol): AppendCpsTree

Attributes

Definition Classes
override def inCake[F1[_], T1, C1 <: CpsMonadContext[F1]](otherScope: TreeTransformScope[F1, T1, C1]): AppendCpsTree

Attributes

Definition Classes
def isAsync: Boolean
def isChanged: Boolean
def isLambda: Boolean
override def monadFlatMap(f: Term => Term, ntpe: TypeRepr): CpsTree

Attributes

Definition Classes
override def monadMap(f: Term => Term, ntpe: TypeRepr): CpsTree

Attributes

Definition Classes
override def otpe: TypeRepr

type which is 'inside ' monad, i.e. T for F[T].

type which is 'inside ' monad, i.e. T for F[T].

Attributes

Definition Classes
def owner: Symbol
override def rtpe: TypeRepr

type which we see outside. i.e. F[T] for near all 'normal' trees or X=>F[T] for async lambda.

type which we see outside. i.e. F[T] for near all 'normal' trees or X=>F[T] for async lambda.

Attributes

Definition Classes
override def syncOrigin: Option[Term]

Attributes

Definition Classes
override def transformed: Term

Attributes

Definition Classes

Inherited methods

def append(next: CpsTree): CpsTree

Attributes

Inherited from:
CpsTree
def isSync: Boolean

Attributes

Inherited from:
CpsTree
def prepend(prev: CpsTree): CpsTree

Attributes

Inherited from:
CpsTree
def productElementNames: Iterator[String]

Attributes

Inherited from:
Product
def productIterator: Iterator[Any]

Attributes

Inherited from:
Product
def select(orig: Term, symbol: Symbol, ntpe: TypeRepr): CpsTree

Attributes

Inherited from:
CpsTree
def toResult[T : Type]: CpsExpr[F, T]

Attributes

Inherited from:
CpsTree
def toResultWithType[T](qt: Type[T]): CpsExpr[F, T]

Attributes

Inherited from:
CpsTree
def typeApply(orig: Term, targs: List[TypeTree], ntpe: TypeRepr): CpsTree

Attributes

Inherited from:
CpsTree