BlockBoundsCpsTree

cps.plugin.forest.BlockBoundsCpsTree
case class BlockBoundsCpsTree(internal: CpsTree) extends CpsTree

Attributes

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 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 origin: Tree

origin term, used for diagnostics. TODO: only pos ?

origin term, used for diagnostics. TODO: only pos ?

Attributes

Definition Classes
override def originType(using Context): Type

Attributes

Definition Classes
override def owner: Symbol

owner of term. At first this is the owner at origin, than can be changed via changeOwner

owner of term. At first this is the owner at origin, than can be changed via changeOwner

Attributes

Definition Classes
override def show(using Context): String

Attributes

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

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): CpsTree

Attributes

Definition Classes

Inherited methods

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

Inherited from:
CpsTree
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
def select(origin: Select)(using Context, CpsTopLevelContext): CpsTree

Attributes

Inherited from:
CpsTree

Attributes

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

Attributes

Inherited from:
CpsTree
def typeApply(origin: TypeApply)(using Context, CpsTopLevelContext): CpsTree

Attributes

Inherited from:
CpsTree
def typed(origin: Typed)(using Context, CpsTopLevelContext): CpsTree

Attributes

Inherited from:
CpsTree