Class NullnessValue
java.lang.Object
org.checkerframework.framework.flow.CFAbstractValue<NullnessValue>
org.checkerframework.checker.nullness.NullnessValue
- All Implemented Interfaces:
AbstractValue<NullnessValue>
-
Nested Class Summary
Nested classes/interfaces inherited from class org.checkerframework.framework.flow.CFAbstractValue
CFAbstractValue.AnnotationSetCombiner, CFAbstractValue.ValueGlb, CFAbstractValue.ValueLub
-
Field Summary
Modifier and TypeFieldDescriptionprotected boolean
protected boolean
Fields inherited from class org.checkerframework.framework.flow.CFAbstractValue
analysis, annotations, atypeFactory, qualHierarchy, underlyingType
-
Constructor Summary
ConstructorDescriptionNullnessValue
(CFAbstractAnalysis<NullnessValue, ?, ?> analysis, AnnotationMirrorSet annotations, TypeMirror underlyingType) Creates a new NullnessValue. -
Method Summary
Modifier and TypeMethodDescriptionleastUpperBound
(NullnessValue other) Compute the least upper bound of two values.Returns the string representation, using simple (not fully-qualified) names.Methods inherited from class org.checkerframework.framework.flow.CFAbstractValue
canBeMissingAnnotations, equals, getAnnotations, getUnderlyingType, greatestLowerBound, hashCode, mostSpecific, toString, toStringFullyQualified, validateSet, widenUpperBound
-
Field Details
-
isPolyNullNonNull
protected boolean isPolyNullNonNull -
isPolyNullNull
protected boolean isPolyNullNull
-
-
Constructor Details
-
NullnessValue
public NullnessValue(CFAbstractAnalysis<NullnessValue, ?, ?> analysis, AnnotationMirrorSet annotations, TypeMirror underlyingType) Creates a new NullnessValue.- Parameters:
analysis
- the analysisannotations
- the annotationsunderlyingType
- the underlying type
-
-
Method Details
-
leastUpperBound
Description copied from interface:AbstractValue
Compute the least upper bound of two values.Important: This method must fulfill the following contract:
- Does not change
this
. - Does not change
other
. - Returns a fresh object which is not aliased yet.
- Returns an object of the same (dynamic) type as
this
, even if the signature is more permissive. - Is commutative.
- Specified by:
leastUpperBound
in interfaceAbstractValue<NullnessValue>
- Overrides:
leastUpperBound
in classCFAbstractValue<NullnessValue>
- Does not change
-
toStringSimple
Description copied from class:CFAbstractValue
Returns the string representation, using simple (not fully-qualified) names.- Overrides:
toStringSimple
in classCFAbstractValue<NullnessValue>
- Returns:
- the string representation, using simple (not fully-qualified) names
-