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.

Source
CpsTree.scala
trait Serializable
trait Product
trait Equals
class CpsTree
class Object
trait Matchable
class Any

Value members

Concrete methods

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

Inherited methods

def append(next: CpsTree): CpsTree
Inherited from
CpsTree
Source
CpsTree.scala
def isSync: Boolean
Inherited from
CpsTree
Source
CpsTree.scala
def prepend(prev: CpsTree): CpsTree
Inherited from
CpsTree
Source
CpsTree.scala
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
Source
CpsTree.scala
def select(orig: Term, symbol: Symbol, ntpe: TypeRepr): CpsTree
Inherited from
CpsTree
Source
CpsTree.scala
def toResult[T : Type]: CpsExpr[F, T]
Inherited from
CpsTree
Source
CpsTree.scala
def toResultWithType[T](qt: Type[T]): CpsExpr[F, T]
Inherited from
CpsTree
Source
CpsTree.scala
def typeApply(orig: Term, targs: List[TypeTree], ntpe: TypeRepr): CpsTree
Inherited from
CpsTree
Source
CpsTree.scala