abstract class IsabelleMLExceptionConverter extends Converter[IsabelleMLException]
MLValue.Converter for type IsabelleMLException[A].
- ML type:
exn. - Encoding of exception
eas an exception:e(that is, the exception is directly stored without any encoding in the object table which is possible since the object table stores all values encoded as exceptions).
- Source
- MLException.scala
- See also
MLValue.Converter for explanations what Converters are for. Override the function recognize if you want the returned exception to be some more informative subclass of IsabelleMLException. Two preconfigured instantiations for importing exist: simpleIsabelleMLExceptionConverter and distinguishingIsabelleMLExceptionConverter, see there.
- Alphabetic
- By Inheritance
- IsabelleMLExceptionConverter
- Converter
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
- new IsabelleMLExceptionConverter()
Abstract Value Members
-
abstract
def
recognize(exception: IsabelleMLException)(implicit ec: ExecutionContext): Future[IsabelleMLException]
This function can replace the retrieved exception (
exception) by a more informative exception object (e.g., a subclass, or an IsabelleMLException with a different message).This function can replace the retrieved exception (
exception) by a more informative exception object (e.g., a subclass, or an IsabelleMLException with a different message). The returned object must have the same id and IsabelleMLException.isabelle fields asexception. If no additional information is to be added, simply returnexceptionunchanged.- exception
The exception to be transformed
Concrete Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native() @HotSpotIntrinsicCandidate()
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
exnToValue(implicit isabelle: Isabelle, ec: ExecutionContext): String
Returns ML code for an (anonymous) function of type
exn -> athat converts a value encoded as an exception back into the original value.Returns ML code for an (anonymous) function of type
exn -> athat converts a value encoded as an exception back into the original value.It is recommended that this function produces informative match failures in case of invalid inputs. MLValue.matchFailExn is a helper function that facilitates this.
This function should always return the same value, at least for the same
isabelle.- Definition Classes
- IsabelleMLExceptionConverter → Converter
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
mlType(implicit isabelle: Isabelle, ec: ExecutionContext): String
Returns the ML type corresponding to
A.Returns the ML type corresponding to
A.This function should always return the same value, at least for the same
isabelle.- Definition Classes
- IsabelleMLExceptionConverter → Converter
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
final
def
retrieve(value: MLValue[IsabelleMLException])(implicit isabelle: Isabelle, ec: ExecutionContext): Future[IsabelleMLException]
Given an mlvalue.MLValue
value, retrieves and returns the value referenced byvaluein the Isabelle object store.Given an mlvalue.MLValue
value, retrieves and returns the value referenced byvaluein the Isabelle object store.Must not invoke
value.retrieve orvalue.retrieveNow because those functions invokethis.retrieve. (But calling retrieve or retrieveNow on other MLValues is allowed as long as no cyclic dependencies are created.)- Definition Classes
- IsabelleMLExceptionConverter → Converter
-
final
def
store(value: IsabelleMLException)(implicit isabelle: Isabelle, ec: ExecutionContext): MLValue[IsabelleMLException]
Given a
value : A, transfers and storesvaluein the Isabelle object store and returns an mlvalue.MLValue referencing the value in the object store.Given a
value : A, transfers and storesvaluein the Isabelle object store and returns an mlvalue.MLValue referencing the value in the object store.Must not invoke MLValue
(value)because that functions invokesthis.store. (But calling MLValue(...)on other values is allowed as long as no cyclic dependencies are created.)- Definition Classes
- IsabelleMLExceptionConverter → Converter
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
valueToExn(implicit isabelle: Isabelle, ec: ExecutionContext): String
Returns ML code for an (anonymous) function of type
a -> exnthat converts a value into its encoding as an exception.Returns ML code for an (anonymous) function of type
a -> exnthat converts a value into its encoding as an exception.It is recommended that this function produces informative match failures in case of invalid inputs. MLValue.matchFailExn is a helper function that facilitates this.
This function should always return the same value, at least for the same
isabelle.- Definition Classes
- IsabelleMLExceptionConverter → Converter
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )