public final class UnsupportedTypeException extends InteropException
TruffleObject
does not support the type of one or more
arguments.Modifier and Type | Method and Description |
---|---|
static UnsupportedTypeException |
create(Object[] suppliedValues)
Creates an
UnsupportedTypeException to indicate that an argument type is not
supported. |
static UnsupportedTypeException |
create(Object[] suppliedValues,
String hint)
Creates an
UnsupportedTypeException to indicate that an argument type is not
supported. |
static UnsupportedTypeException |
create(Object[] suppliedValues,
String hint,
Throwable cause)
Creates an
UnsupportedTypeException to indicate that an argument type is not
supported. |
Object[] |
getSuppliedValues()
Returns the arguments of the foreign object access that were not supported by the
TruffleObject . |
fillInStackTrace, getCause
addSuppressed, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
public Object[] getSuppliedValues()
TruffleObject
.public static UnsupportedTypeException create(Object[] suppliedValues)
UnsupportedTypeException
to indicate that an argument type is not
supported.public static UnsupportedTypeException create(Object[] suppliedValues, String hint)
UnsupportedTypeException
to indicate that an argument type is not
supported.public static UnsupportedTypeException create(Object[] suppliedValues, String hint, Throwable cause)
UnsupportedTypeException
to indicate that an argument type is not
supported.
In addition a cause may be provided. The cause should only be set if the guest language code
caused this problem. An example for this is a language specific proxy mechanism that invokes
guest language code to describe an object. If the guest language code fails to execute and
this interop exception is a valid interpretation of the error, then the error should be
provided as cause. The cause can then be used by the source language as new exception cause
if the InteropException
is translated to a source language error. If the
InteropException
is discarded, then the cause will most likely get discarded by the
source language as well. Note that the cause must be of type
AbstractTruffleException
otherwise an
IllegalArgumentException
is thrown.
This method is designed to be used in compiled
code paths.
cause
- the guest language exception that caused the error.