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

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

Members list

Value members

Concrete methods

Attributes

Source
CpsTree.scala
override def applyAwait(newOtpe: TypeRepr): CpsTree

Attributes

Definition Classes
Source
CpsTree.scala
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
Source
CpsTree.scala
override def changeOwner(newOwner: Symbol): AppendCpsTree

Attributes

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

Attributes

Definition Classes
Source
CpsTree.scala
def isAsync: Boolean

Attributes

Source
CpsTree.scala
def isChanged: Boolean

Attributes

Source
CpsTree.scala
def isLambda: Boolean

Attributes

Source
CpsTree.scala
override def monadFlatMap(f: Term => Term, ntpe: TypeRepr): CpsTree

Attributes

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

Attributes

Definition Classes
Source
CpsTree.scala
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
Source
CpsTree.scala
def owner: Symbol

Attributes

Source
CpsTree.scala
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
Source
CpsTree.scala
override def syncOrigin: Option[Term]

Attributes

Definition Classes
Source
CpsTree.scala
override def transformed: Term

Attributes

Definition Classes
Source
CpsTree.scala

Inherited methods

def append(next: CpsTree): CpsTree

Attributes

Inherited from:
CpsTree
Source
CpsTree.scala
def isSync: Boolean

Attributes

Inherited from:
CpsTree
Source
CpsTree.scala
def prepend(prev: CpsTree): CpsTree

Attributes

Inherited from:
CpsTree
Source
CpsTree.scala
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
Source
CpsTree.scala
def toResult[T : Type]: CpsExpr[F, T]

Attributes

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

Attributes

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

Attributes

Inherited from:
CpsTree
Source
CpsTree.scala