Enum Class ObjectProvability
- All Implemented Interfaces:
Serializable, Comparable<ObjectProvability>, Constable
Provability of the OBJECT that bears a field-rooted MutexLock at an enter
site — the answer to "can a single consistent global acquisition order be
proven for two locks sharing the same field declaration but reached through
this object?" (Stage-3 Phase 2/3b, deadlock detection).
Only STATIC objects are orderable relative to each other; the others
are caller- or runtime-determined and so cannot be placed in a provable
order. Used by the object-precise lock-identity composition and the
Category-C verdict.
-
Nested Class Summary
Nested classes/interfaces inherited from class Enum
Enum.EnumDesc<E> -
Enum Constant Summary
Enum ConstantsEnum ConstantDescriptionThe object is an incoming parameter (or a local provably bound to one).The object's receiver resolves polymorphically (via run-time type analysis) to more than one concrete type → the acquisition order is unprovable.The object is a local whose value comes from a runtime selection — a collection/dictionary lookup (get(i)/getOrDefault/ key access) or similar.The object is statically nameable: rooted atthis/ a primary reference, or a module-level singleton, with an all-field access chain.The object could not be classified (extraction did not recognise the shape). -
Method Summary
Modifier and TypeMethodDescriptionstatic ObjectProvabilityReturns the enum constant of this class with the specified name.static ObjectProvability[]values()Returns an array containing the constants of this enum class, in the order they are declared.
-
Enum Constant Details
-
STATIC
The object is statically nameable: rooted atthis/ a primary reference, or a module-level singleton, with an all-field access chain. Two distinct STATIC objects are orderable by their access path. -
PARAMETER
The object is an incoming parameter (or a local provably bound to one). Caller-supplied and interchangeable across call sites → unprovable order. -
RUNTIME
The object is a local whose value comes from a runtime selection — a collection/dictionary lookup (get(i)/getOrDefault/ key access) or similar. The concrete object is decided at runtime → unprovable. -
POLYMORPHIC
The object's receiver resolves polymorphically (via run-time type analysis) to more than one concrete type → the acquisition order is unprovable. -
UNKNOWN
The object could not be classified (extraction did not recognise the shape). Treated conservatively as unprovable by the verdict.
-
-
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
-