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
- Protected
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(classOf[java.lang.CloneNotSupportedException]) @native() @IntrinsicCandidate()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): 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[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
- 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() @IntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
- 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(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])