SeqCpsTree

cps.plugin.forest.SeqCpsTree
See theSeqCpsTree companion object
case class SeqCpsTree(origin: Tree, owner: Symbol, prevs: IndexedSeq[CpsTree], last: CpsTree) extends CpsTree

seq, representing block which can be appended. Only last element can be async here, others are always sync.

Attributes

Companion
object
Graph
Supertypes
trait Serializable
trait Product
trait Equals
trait CpsTree
class Object
trait Matchable
class Any
Show all

Members list

Value members

Concrete methods

override def appendInBlock(next: CpsTree)(using Context, CpsTopLevelContext): CpsTree

let we have block {A; B} cps({A;B}) = cps(A).appendInBlock(cps(B))

let we have block {A; B} cps({A;B}) = cps(A).appendInBlock(cps(B))

Attributes

Definition Classes
override def applyRuntimeAwait(runtimeAwait: Tree)(using Context, CpsTopLevelContext): CpsTree

apply runtime await. If this CpsTree is adync lambda f: x1...xn => F[y] transform one to f' = summon[RuntiemAwait[F].await(f(x1..xN))(monad,monad-context)] and return CpsTree with f' in unpure otherwise - unchanged or throw error TODO: move to Lambda

apply runtime await. If this CpsTree is adync lambda f: x1...xn => F[y] transform one to f' = summon[RuntiemAwait[F].await(f(x1..xN))(monad,monad-context)] and return CpsTree with f' in unpure otherwise - unchanged or throw error TODO: move to Lambda

precondition: kind <: AsyncLambda(*)

Attributes

Definition Classes
override def asyncKind(using Context, CpsTopLevelContext): AsyncKind

Attributes

Definition Classes
override def castOriginType(ntpe: Type)(using Context, CpsTopLevelContext): CpsTree

Attributes

Definition Classes
override def changeOwner(newOwner: Symbol)(using Context): CpsTree

Attributes

Definition Classes
override def normalizeAsyncKind(using Context, CpsTopLevelContext): CpsTree

Attributes

Definition Classes
override def originType(using Context): Type

Attributes

Definition Classes
override def select(origin: Select)(using Context, CpsTopLevelContext): CpsTree

Attributes

Definition Classes
override def show(using Context): String

Attributes

Definition Classes
override def transformed(using Context, CpsTopLevelContext): Tree

Attributes

Definition Classes
override def typeApply(origin: TypeApply)(using Context, CpsTopLevelContext): CpsTree

Attributes

Definition Classes
override def typed(origin: Typed)(using Context, CpsTopLevelContext): CpsTree

Attributes

Definition Classes
override def unpure(using Context, CpsTopLevelContext): Option[Tree]

is this is a sync-tree ?

is this is a sync-tree ?

Attributes

Definition Classes
override def withOrigin(term: Tree): SeqCpsTree

Attributes

Definition Classes

Inherited methods

def isOriginEqSync(using Context, CpsTopLevelContext): Boolean

Attributes

Inherited from:
CpsTree
def productElementNames: Iterator[String]

Attributes

Inherited from:
Product
def productIterator: Iterator[Any]

Attributes

Inherited from:
Product

Attributes

Inherited from:
CpsTree
def transformedType(using Context, CpsTopLevelContext): Type

Attributes

Inherited from:
CpsTree