Enum Class DischargeReason
- All Implemented Interfaces:
Serializable, Comparable<DischargeReason>, Constable
Why an obligation is considered discharged (proven safe) by an existing analysis, or
UNDISCHARGED when no analysis proves it — the discharge-detection order of
docs/tooling/EK9_SYMBOLIC_SCANNER_IMPLEMENTATION_SPEC.md §2.3. The reason is reuse, not
re-derivation: each maps to a specific existing compiler analysis.-
Nested Class Summary
Nested classes/interfaces inherited from class Enum
Enum.EnumDesc<E> -
Enum Constant Summary
Enum ConstantsEnum ConstantDescriptionDefinite-assignment proves the variable is initialised at this point (SymbolsAndScopes.isVariableInitialised).A safe-generic-access guard proves a container unwrap safe (SymbolsAndScopes.isGetOptionalAccessSafeand siblings).The narrowed flow state proves the value safe — a divisor provably non-zero, or arequireprovably true (ValueTrackingAnalyzer/RangeValue).No existing analysis discharges the obligation — a Layer-2 bounded-model solver candidate. -
Method Summary
Modifier and TypeMethodDescriptionstatic DischargeReasonReturns the enum constant of this class with the specified name.static DischargeReason[]values()Returns an array containing the constants of this enum class, in the order they are declared.
-
Enum Constant Details
-
GUARD
A safe-generic-access guard proves a container unwrap safe (SymbolsAndScopes.isGetOptionalAccessSafeand siblings). -
RANGE
The narrowed flow state proves the value safe — a divisor provably non-zero, or arequireprovably true (ValueTrackingAnalyzer/RangeValue). Covers both the range and constant cases. -
DEFINITE_ASSIGNMENT
Definite-assignment proves the variable is initialised at this point (SymbolsAndScopes.isVariableInitialised). Reserved for a later slice. -
UNDISCHARGED
No existing analysis discharges the obligation — a Layer-2 bounded-model solver candidate.
-
-
Method Details
-
values
Returns an array containing the constants of this enum class, in the order they are declared.- Returns:
- an array containing the constants of this enum class, in the order they are declared
-
valueOf
Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)- Parameters:
name- the name of the enum constant to be returned.- Returns:
- the enum constant with the specified name
- Throws:
IllegalArgumentException- if this enum class has no constant with the specified nameNullPointerException- if the argument is null
-