cps.runtime.util.control

Members list

Type members

Classlikes

class BreaksAsyncShift extends AsyncShift[Breaks.type]

Attributes

Source
BreaksAsyncShift.scala
Supertypes
trait AsyncShift[Breaks.type]
class Object
trait Matchable
class Any
class ControlThrowableAsyncWrapper(val ce: ControlThrowable) extends Throwable

This wrapper for control exception, which is handled by NonFatal(ex)

This wrapper for control exception, which is handled by NonFatal(ex)

The main reason for it;'s existence, that we can't rewrite all monadic operation to handle NonFatalOnly throwables instead NonFatal. (The right way will be to change monadic operations in standard library, but this is a long way. )

So, for supports of returning and break clauses, we change NonLocalReturns.throwReturn(ce) to NonLocalReturnsShift.throwAsyncWrapperReturn(ce)

Attributes

Source
ControlThrowableAsyncWrapper.scala
Supertypes
class Throwable
trait Serializable
class Object
trait Matchable
class Any

Attributes

Source
ControlThrowableAsyncWrapper.scala
Supertypes
class Object
trait Matchable
class Any
Self type
object NonLocalReturnsAsyncShift extends AsyncShift[NonLocalReturns.type]

Attributes

Source
NonLocalReturnsAsyncShift.scala
Supertypes
trait AsyncShift[NonLocalReturns.type]
class Object
trait Matchable
class Any
Self type