Avail Error Code
AvailErrorCode is an enumeration of all possible failures of operations on Avail objects.
Author
Todd L Smith
Parameters
The numeric error code.
Entries
A reference to a Java method is not uniquely resolvable for the given pojo type and parameter types.
An attempt was made to modify a finalJava field.
A reference to a Java field is not uniquely resolvable for the given pojo type.
The indicated Java field is not visible or does not exist.
Marshaling an Avail object to/from a Java counterpart failed.
The indicated Java method or constructor is not visible or does not exist.
A pojo type is abstract and therefore cannot be instantiated or have a constructor bound to a function.
A Java class specified by name was either not found by the runtime system or not available for reflection.
A path expression was invalid.
At least one option was illegal, or possibly some combination of options were illegal.
An aggregation non-atomic operation succeeded only partially.
The specified path names a directory that is not empty.
The specified path names an existing file.
An external process could not be launched.
Attempted to create a supercast from a base expression that yields a value of type top or bottom.
Attempted to create a supercast whose base expression is also a supercast phrase.
Attempted to create a supercast from a base expression that yields a value of type top or bottom.
A proposed sequence contains one or more invalid statements.
The block expression failed compilation.
The block expression references outers, but must not.
A block expression is invalid.
A proposed block expression contains one or more invalid statements.
MessageSplitter encountered inconsistent argument reordering indicators in a message name. Also indicates when an attempt is made to create a permuted list with an invalid or identity permutation. Also indicates an invalid attempt to combine a bundle with a differently permuted list to form a send phrase.
Deserialization failed.
Serialization failed.
An attempt was made to perform some destructive operation with a valid handle that was not opened for write access.
An attempt was made to read through a valid handle that was not opened for read access.
A fiber produced a result of an incorrect type, in violation of its fiber type.
A fiber attempted to join itself.
The fiber being interrogated has not (or did not) produce a result.
The fiber being examined has already been terminated.
A variable which has write reactors was written when write tracing was not active for the current fiber.
The resolved definition is an abstract definition.
The resolved definition is a forward definition.
More than one method definition satisfies the supplied criteria.
No method definition satisfies the supplied criteria.
The continuation whose primitive failure variable is set to this value is no longer eligible to run an unwind handler (because it already has or is currently doing so).
There are no exception handling continuations anywhere in the call chain.
The continuation cannot be marked as ineligible to handle an exception (because its state is incorrect).
The continuation whose primitive failure variable is set to this value is no longer eligible to run an exception handler (because it already has, is currently doing so, or has successfully run its guarded function to completion).
An up arrow ("↑") must only occur after an underscore ("_").
An attempt to transition the current fiber's trace mode was illegal.
The VM does not normally instantiate continuations for infallible primitive functions, so for conceptual consistency such continuations are disallowed.
It seems that a prefix function did not set up things the way that the corresponding macro body expected. Alternatively, a prefix function may notice that a previous prefix function behaved unexpectedly.
Cannot overwrite or clear an initialized write-once variable.
The method is sealed at the specified parameters type.
The current fiber attempted to reject the current parse, but it isn't actually running a semantic restriction.
Module loading is over. The interpreter is now operating in runtime mode. This usually means that an attempt was made to modify module metadata at runtime.
An attempt to read a field of an object or object type was unsuccessful because that field is not present.
A macro's prefix function must restrict each parameter to be at least as specific as a phrase.
A styling operation was attempted, but the current fiber does not have permission to apply styles.
The current fiber attempted to determine the current macro name, the name (atom) of a send phrase which was undergoing macro substitution, but this fiber is not performing a macro substitution.
The current fiber attempted to accept the current parse, but it isn't actually running a semantic restriction.
An attempt was made to add a prefix function to a message bundle, but its index was not between 1 and the number of section markers (§) in the bundle's name.
The module is currently in a setPhase where it's compiling (or loading) the next statement to execute, and as part of the compilation or loading it attempted to execute a primitive that would add a definition.
A continuation was being constructed, but the wrong number of stack slots was provided for the given function.
A macro prefix function is invoked when a potential macro site reaches certain checkpoints. Only the macro body may return a phrase. One of the prefix functions did not have return type ⊤.
A numbered choice expression should have its corresponding argument typed as a subtype of 1..N where N is the number of listed choices.
A Double value not-a-number or Float value not-a-number cannot be converted to an extended integer (neither truncation, floor, nor ceiling).
A vertical bar (|) may only occur after a keyword, operator, or guillemet group which has no arguments or subgroups.
An alternation must not contain arguments. It must comprise only simple expressions and simple groups.
A double question mark (⁇) may only occur after a keyword, operator, or guillemet group which has no arguments or subgroups.
An expression followed by a tilde (~) must contain only lower case characters.
A question mark (?) may only occur after a guillemet group which has no arguments or subgroups.
An octothorp (#) may only occur after a guillemet group which has no arguments or an ellipsis (…).
An argument type for a counting group («...»#) must be a subtype of boolean.
An argument type for a boolean group («...»?) must be a subtype of boolean.
The method name is invalid because an operator character did not follow a backquote (`).
The method name is not well-formed because it does not have the canonically simplest representation.
The method name is invalid because it has unmatched guillemets («»).
The method name is invalid because it uses the double-dagger (‡) incorrectly.
A method's argument type was inconsistent with a complex guillemet group's specific requirements. In particular, the corresponding argument position must be a tuple of tuples whose sizes range from the number of argument subexpressions left of the double-dagger, up to the number of argument subexpressions on both sides of the double-dagger.
A special atom was supplied where forbidden.
A signature was added that had stronger argument types, but the result type was not correspondingly stronger.
An attempt was made to add a signature with the same argument types as an existing signature.
An exclamation mark (!) may only occur after a guillemet group containing an alternation.
Cannot take a reference to this kind of declaration.
Cannot assign to this kind of declaration.
There are multiple true names associated with the string.
A special object number is invalid.
A method's argument type was inconsistent with a special object specific requirements.
The specified type restriction function should expect types as arguments in order to check the validity (and specialize the result) of a call site.
A computation would produce a value too large to represent.
An attempt was made to extract the initialization expression from a declaration, but the declaration doesn't happen to have one.
An attempt was made to add a styler to a definition, but a styler was already added to that definition in the current module.
A primitive name is invalid.
A resource handle was invalid for some particular use.
The operation was forbidden by the platform or the Java security manager because of insufficient user privilege.
An I/O error has occurred.
A size range's lower bound must be non-negative (>=0).
A key was not present in a map.
The wrong number or types of outers were specified for creation of a function from a raw function.
The specified type is not a finite enumeration of values.
The module is permanently closed and does not support mutative operations any longer.
The requested operation is not currently supported on this platform.
Continuation expected a stronger type.
A method definition did not declare the same return type as its forward declaration.
Incorrect argument type.
Incorrect number of arguments.
Subscript out of bounds.
No such fiber variable.
Cannot swap the contents of two differently typed variables.
Cannot read from an unassigned variable.
Cannot divide two infinities.
Cannot subtractinfinities of unlike sign.
Cannot A_Number.plusCanDestroy add} infinities of unlike sign.
Operation is required to fail.
Types
Functions
Answer the numeric error code as a Java Int.
Answer the numeric error code as an Avail.