CallChainSubstCpsTree

case class CallChainSubstCpsTree(origin: Term, shifted: Term, otpe: TypeRepr) extends CpsTree

when we have swhifted function, which should return F[A] but we want to have in F[A] methods with special meaning, which should be performed on F[_] before jumping into monad (exampe: Iterable.withFilter) we will catch in ApplyTree such methods and substitute to appropriative calls of shifted.

when we have swhifted function, which should return F[A] but we want to have in F[A] methods with special meaning, which should be performed on F[_] before jumping into monad (exampe: Iterable.withFilter) we will catch in ApplyTree such methods and substitute to appropriative calls of shifted.

trait Serializable
trait Product
trait Equals
class CpsTree
class Object
trait Matchable
class Any

Value members

Concrete methods

override def appendFinal(next: CpsTree): CpsTree
Definition Classes
override def applyAwait(newOtpe: TypeRepr): CpsTree
Definition Classes
override def castOtpe(newOtpe: TypeRepr): CpsTree
Definition Classes
override def inCake[F1[_], T1](otherCake: TreeTransformScope[F1, T1]): CallChainSubstCpsTree
Definition Classes
override def isAsync: Boolean
Definition Classes
override def isChanged: Boolean
Definition Classes
override def isLambda: Boolean
Definition Classes
override def monadFlatMap(f: Term => Term, ntpe: TypeRepr): CpsTree
Definition Classes
override def monadMap(f: Term => Term, ntpe: TypeRepr): CpsTree
Definition Classes
override def syncOrigin: Option[Term]
Definition Classes
override def transformed: Term
Definition Classes

Inherited methods

def append(next: CpsTree): CpsTree
Inherited from
CpsTree
def isSync: Boolean
Inherited from
CpsTree
def prepend(prev: CpsTree): CpsTree
Inherited from
CpsTree
def productElementNames: Iterator[String]
Inherited from
Product
def productIterator: Iterator[Any]
Inherited from
Product
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.

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