java.lang.Object
java.lang.Throwable
java.lang.Error
de.grogra.xl.vmx.AbruptCompletion.Nonlocal
- All Implemented Interfaces:
Serializable
- Enclosing class:
- AbruptCompletion
This class wraps an abrupt completion that has to be
transferred (non-locally) to a statically containing routine invocation
before Java's catching mechanism comes into play. It extends
Error
so that it is not catched and discarded by
well-behaved Java programs (which would lead to improper behaviour
of the non-local transfer mechanism).- Author:
- Ole Kniemeyer
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptiongetReason
(Authorization auth) Returns the wrapped abrupt completion if the current frame of theVMXState
corresponds to the frame that has been specified inVMXState.newNonlocal(int, AbruptCompletion, Authorization)
.Methods inherited from class java.lang.Throwable
addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
-
Method Details
-
getReason
Returns the wrapped abrupt completion if the current frame of theVMXState
corresponds to the frame that has been specified inVMXState.newNonlocal(int, AbruptCompletion, Authorization)
. In this case, this instance is disposed and may be re-used by theVMXState
. Otherwise, this instance is re-thrown in order to continue the non-local transfer of the reason.- Returns:
- the wrapped abrupt completion
-