Module xl.vmx

Class AbruptCompletion.Nonlocal

java.lang.Object
java.lang.Throwable
java.lang.Error
de.grogra.xl.vmx.AbruptCompletion.Nonlocal
All Implemented Interfaces:
Serializable
Enclosing class:
AbruptCompletion

public static final class AbruptCompletion.Nonlocal extends Error
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 Details

    • getReason

      public AbruptCompletion getReason(Authorization auth)
      Returns the wrapped abrupt completion if the current frame of the VMXState corresponds to the frame that has been specified in VMXState.newNonlocal(int, AbruptCompletion, Authorization). In this case, this instance is disposed and may be re-used by the VMXState. Otherwise, this instance is re-thrown in order to continue the non-local transfer of the reason.
      Returns:
      the wrapped abrupt completion