AsyncCpsTree

cps.plugin.forest.AsyncCpsTree
sealed trait AsyncCpsTree extends CpsTree

Attributes

Graph
Supertypes
trait CpsTree
class Object
trait Matchable
class Any
Known subtypes

Members list

Value members

Abstract methods

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 unpure(using Context, CpsTopLevelContext): Option[Tree]

is this is a sync-tree ?

is this is a sync-tree ?

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 castOriginType(ntpe: Type)(using Context, CpsTopLevelContext): CpsTree

Attributes

Inherited from:
CpsTree
def changeOwner(newOwner: Symbol)(using Context): CpsTree

Attributes

Inherited from:
CpsTree
def isOriginEqSync(using Context, CpsTopLevelContext): Boolean

Attributes

Inherited from:
CpsTree

Attributes

Inherited from:
CpsTree
def origin: Tree

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

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

Attributes

Inherited from:
CpsTree
def originType(using Context): Type

Attributes

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

Inherited from:
CpsTree
def select(origin: Select)(using Context, CpsTopLevelContext): CpsTree

Attributes

Inherited from:
CpsTree
def show(using Context): String

Attributes

Inherited from:
CpsTree

Attributes

Inherited from:
CpsTree
def transformed(using Context, CpsTopLevelContext): Tree

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
def withOrigin(term: Tree): CpsTree

Attributes

Inherited from:
CpsTree