cps.plugin

package cps.plugin

Members list

Packages

Type members

Classlikes

enum AsyncKind

Attributes

Supertypes
trait Enum
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
Known subtypes
case Async

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
Self type
case class CpsCompilationException(message: String) extends RuntimeException

Attributes

Supertypes
trait Product
trait Equals
class RuntimeException
class Exception
class Throwable
trait Serializable
class Object
trait Matchable
class Any
Show all
class CpsPlugin extends StandardPlugin

Attributes

Supertypes
trait StandardPlugin
trait Plugin
class Object
trait Matchable
class Any
class CpsPluginSettings(var useLoom: Boolean, var debugLevel: Int, var withShiftReplaceStages: Boolean, var transformDirectContextLambda: Boolean, var runtimeAwaitBeforeCps: Boolean)

Attributes

Supertypes
class Object
trait Matchable
class Any
case class CpsTopLevelContext(monadType: Type, cpsMonadRef: Tree, cpsDirectOrSimpleContextRef: Tree, optRuntimeAwait: Option[Tree], optRuntimeAwaitProvider: Option[Tree], optThrowSupport: Option[Tree], optTrySupport: Option[Tree], debugSettings: DebugSettings, pluginSettings: CpsPluginSettings, isBeforeInliner: Boolean)

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
case class CpsTransformException(message: String, pos: SrcPos) extends RuntimeException

Attributes

Supertypes
trait Product
trait Equals
class RuntimeException
class Exception
class Throwable
trait Serializable
class Object
trait Matchable
class Any
Show all

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
case class DebugSettings(debugLevel: Int, printTree: Boolean, printCode: Boolean)

Attributes

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

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type

Attributes

Supertypes
trait Enum
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
class DefDefSelectRecord(val kind: DefDefSelectKind, var internal: Boolean, var monadType: Type, var changedType: Type, var debugLevel: Int)

Record for defDef, which was selected for transformation. Note, that this shouln not be case class, because it used in MutableSymbolMap and it is important to have equals/hashCode methods not depended from value (i.e. - system).

Record for defDef, which was selected for transformation. Note, that this shouln not be case class, because it used in MutableSymbolMap and it is important to have equals/hashCode methods not depended from value (i.e. - system).

Attributes

Supertypes
class Object
trait Matchable
class Any
class PhaseChangeSymbolsAndRemoveScaffolding(val selectedNodes: SelectedNodes) extends PluginPhase, SymTransformer, CpsChangeSymbols, RemoveScaffolding

Attributes

Companion
object
Supertypes
trait SymTransformer
trait DenotTransformer
trait PluginPhase
class MiniPhase
class Phase
class Object
trait Matchable
class Any
Show all

Attributes

Companion
class
Supertypes
class Object
trait Matchable
class Any
Self type
class PhaseCps(settings: CpsPluginSettings, selectedNodes: SelectedNodes) extends PluginPhase

Phase where we do cps transformation. Note, that this phase should run before inlining, because when we search for async-shift object, it can be inlined.

Phase where we do cps transformation. Note, that this phase should run before inlining, because when we search for async-shift object, it can be inlined.

Attributes

Companion
object
Supertypes
trait PluginPhase
class MiniPhase
class Phase
class Object
trait Matchable
class Any
Show all
object PhaseCps

Attributes

Companion
class
Supertypes
class Object
trait Matchable
class Any
Self type
PhaseCps.type
class PhaseSelectAndGenerateShiftedMethods(selectedNodes: SelectedNodes) extends PluginPhase, IdentityDenotTransformer

Attributes

Companion
object
Supertypes
trait IdentityDenotTransformer
trait DenotTransformer
trait PluginPhase
class MiniPhase
class Phase
class Object
trait Matchable
class Any
Show all

Attributes

Companion
class
Supertypes
class Object
trait Matchable
class Any
Self type
object QuoteLikeAPI

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type

Remove scaffolding from code after CpsChangeSymbols and before code generation

Remove scaffolding from code after CpsChangeSymbols and before code generation

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
Self type
object Scaffolding

Generate adapoters fro the cps-transformed function be able to comply non-cpsed type in symbol denoatations, because we can't change symbol denoatations before erasure phase.

Generate adapoters fro the cps-transformed function be able to comply non-cpsed type in symbol denoatations, because we can't change symbol denoatations before erasure phase.

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
object SelectedNodes

Attributes

Companion
class
Supertypes
class Object
trait Matchable
class Any
Self type

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
case class TermWithIncorrectOwner(term: Tree, expectedOwner: Symbol, actualOwner: Symbol)

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
object TransformUtil

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type