CpsTree

cps.macros.forest.CpsTreeScope.CpsTree
See theCpsTree companion object
sealed abstract class CpsTree

Attributes

Companion
object
Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes

Members list

Value members

Abstract methods

def applyAwait(newOtpe: TypeRepr): CpsTree
def castOtpe(newOtpe: TypeRepr): CpsTree

cast CpsTree to keep newOtpe.type inside monad.

cast CpsTree to keep newOtpe.type inside monad.

Attributes

def changeOwner(newOwner: Symbol): CpsTree
def inCake[F1[_], T1, C1 <: CpsMonadContext[F1]](otherScope: TreeTransformScope[F1, T1, C1]): CpsTree
def isAsync: Boolean
def isChanged: Boolean
def isLambda: Boolean
def monadFlatMap(f: Term => Term, ntpe: TypeRepr): CpsTree
def monadMap(f: Term => Term, ntpe: TypeRepr): CpsTree
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

def owner: Symbol
def syncOrigin: Option[Term]
def transformed: Term

Concrete methods

def append(next: CpsTree): CpsTree
def isSync: Boolean
def prepend(prev: CpsTree): CpsTree
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

def select(orig: Term, symbol: Symbol, ntpe: TypeRepr): CpsTree
def toResult[T : Type]: CpsExpr[F, T]
def toResultWithType[T](qt: Type[T]): CpsExpr[F, T]
def typeApply(orig: Term, targs: List[TypeTree], ntpe: TypeRepr): CpsTree