org

coroutines

package coroutines

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. coroutines
  2. AnyRef
  3. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Type Members

  1. type <~>[Y, R] = Instance[Y, R]

  2. trait Analyzer[C <: Context] extends AnyRef

    Declares basic data types and analysis utilities.

  3. trait AstCanonicalization[C <: Context] extends AnyRef

    Transforms the coroutine body into three address form with restricted control flow that contains only try-catch statements, while loops, if-statements, value and variable declarations, pattern matches, nested blocks and function calls.

    Transforms the coroutine body into three address form with restricted control flow that contains only try-catch statements, while loops, if-statements, value and variable declarations, pattern matches, nested blocks and function calls.

    Newly synthesized variables get mangled fresh names, and existing variable names are preserved.

    Coroutine operations usages are checked for correctness, and nested contexts, such as function and class declarations, are checked, but not transformed.

  4. trait CfgGenerator[C <: Context] extends AnyRef

    Generates control flow graphs, and converts CFG nodes to ASTs.

  5. trait Coroutine[Y, R] extends DefMarker[(Y, R)]

  6. case class CoroutineStoppedException() extends Exception with Product with Serializable

  7. trait _1$spec$C[S, R] extends _1[Char, S, R]

  8. trait _1$spec$D[S, R] extends _1[Double, S, R]

  9. trait _1$spec$F[S, R] extends _1[Float, S, R]

  10. trait _1$spec$I[S, R] extends _1[Int, S, R]

  11. trait _1$spec$J[S, R] extends _1[Long, S, R]

  12. trait _1$spec$L[T0, S, R] extends _1[T0, S, R]

  13. trait _1$spec$S[S, R] extends _1[Short, S, R]

  14. trait _2$spec$DD[S, R] extends _2[Double, Double, S, R]

  15. trait _2$spec$DI[S, R] extends _2[Double, Int, S, R]

  16. trait _2$spec$DJ[S, R] extends _2[Double, Long, S, R]

  17. trait _2$spec$DL[T1, S, R] extends _2[Double, T1, S, R]

  18. trait _2$spec$ID[S, R] extends _2[Int, Double, S, R]

  19. trait _2$spec$II[S, R] extends _2[Int, Int, S, R]

  20. trait _2$spec$IJ[S, R] extends _2[Int, Long, S, R]

  21. trait _2$spec$IL[T1, S, R] extends _2[Int, T1, S, R]

  22. trait _2$spec$JD[S, R] extends _2[Long, Double, S, R]

  23. trait _2$spec$JI[S, R] extends _2[Long, Int, S, R]

  24. trait _2$spec$JJ[S, R] extends _2[Long, Long, S, R]

  25. trait _2$spec$JL[T1, S, R] extends _2[Long, T1, S, R]

  26. trait _2$spec$LD[T0, S, R] extends _2[T0, Double, S, R]

  27. trait _2$spec$LI[T0, S, R] extends _2[T0, Int, S, R]

  28. trait _2$spec$LJ[T0, S, R] extends _2[T0, Long, S, R]

  29. trait _2$spec$LL[T0, T1, S, R] extends _2[T0, T1, S, R]

  30. class ~>[PS, YR] extends DefMarker[YR]

  31. class ~~>[T, YR] extends DefMarker[YR]

  32. class ~~~>[S, R] extends DefMarker[(S, R)]

Value Members

  1. val COROUTINE_DIRECT_APPLY_ERROR_MESSAGE: String

  2. object Coroutine

  3. macro def call[R](f: R): Any

  4. macro def coroutine[Y, R](f: Any): Any

  5. implicit def coroutine0[S, R](b: _0[S, R]): ~~~>[S, R]

  6. implicit def coroutine0nothing[R](b: _0[Nothing, R]): ~~~>[Nothing, R]

  7. implicit def coroutine1[T, S, R](b: _1[T, S, R]): ~~>[T, (S, R)]

  8. implicit def coroutine1nothing[T, R](b: _1[T, Nothing, R]): ~~>[T, (Nothing, R)]

  9. implicit def coroutine2[T1, T2, S, R](b: _2[T1, T2, S, R]): ~>[(T1, T2), (S, R)]

  10. implicit def coroutine2nothing[T1, T2, R](b: _2[T1, T2, Nothing, R]): ~>[(T1, T2), (Nothing, R)]

  11. implicit def coroutine3[T1, T2, T3, S, R](b: _3[T1, T2, T3, S, R]): ~>[(T1, T2, T3), (S, R)]

  12. implicit def coroutine3nothing[T1, T2, T3, R](b: _3[T1, T2, T3, Nothing, R]): ~>[(T1, T2, T3), (Nothing, R)]

  13. def yieldto[T](f: Instance[T, _]): Unit

  14. def yieldval[T](x: T): Unit

Inherited from AnyRef

Inherited from Any

Ungrouped