CallChainSubstCpsTree

cps.macros.forest.CpsTreeScope.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.

Attributes

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

Members list

Concise view

Value members

Concrete methods

override def appendFinal(next: CpsTree): CpsTree

Attributes

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

Attributes

Definition Classes
Source:
CpsTree.scala
override def castOtpe(newOtpe: 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 inCake[F1[_], T1, C1 <: CpsMonadContext[F1]](otherCake: TreeTransformScope[F1, T1, C1]): CallChainSubstCpsTree

Attributes

Definition Classes
Source:
CpsTree.scala
override def isAsync: Boolean

Attributes

Definition Classes
Source:
CpsTree.scala
override def isChanged: Boolean

Attributes

Definition Classes
Source:
CpsTree.scala
override def isLambda: Boolean

Attributes

Definition Classes
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

Attributes

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 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

Inherited from:
CpsTree
Source:
CpsTree.scala
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