Class NullnessAnnotatedTypeFactory.NullnessQualifierHierarchy
java.lang.Object
org.checkerframework.framework.type.ElementQualifierHierarchy
org.checkerframework.framework.type.MostlyNoElementQualifierHierarchy
InitializationAnnotatedTypeFactory<NullnessValue,NullnessStore,NullnessTransfer,NullnessAnalysis>.InitializationQualifierHierarchy
org.checkerframework.checker.nullness.NullnessAnnotatedTypeFactory.NullnessQualifierHierarchy
- All Implemented Interfaces:
QualifierHierarchy
- Enclosing class:
- NullnessAnnotatedTypeFactory
protected class NullnessAnnotatedTypeFactory.NullnessQualifierHierarchy
extends InitializationAnnotatedTypeFactory<NullnessValue,NullnessStore,NullnessTransfer,NullnessAnalysis>.InitializationQualifierHierarchy
NullnessQualifierHierarchy.
-
Field Summary
Fields inherited from class org.checkerframework.framework.type.ElementQualifierHierarchy
bottoms, bottomsMap, kindToElementlessQualifier, qualifierKindHierarchy, tops, topsMap
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected AnnotationMirror
greatestLowerBoundWithElements
(AnnotationMirror a1, QualifierKind qualifierKind1, AnnotationMirror a2, QualifierKind qualifierKind2, QualifierKind glbKind) Returns the greatest lower bound ofa1
anda2
in cases where the glb ofqualifierKind1
andqualifierKind2
is a qualifier kind that has elements.protected boolean
isSubtypeWithElements
(AnnotationMirror subAnno, QualifierKind subKind, AnnotationMirror superAnno, QualifierKind superKind) Returns true ifsubAnno
is a subtype ofsuperAnno
.protected AnnotationMirror
leastUpperBoundWithElements
(AnnotationMirror a1, QualifierKind qualifierKind1, AnnotationMirror a2, QualifierKind qualifierKind2, QualifierKind lubKind) Returns the least upper bound ofa1
anda2
in cases where the lub ofqualifierKind1
andqualifierKind2
is a qualifier kind that has elements.Methods inherited from class org.checkerframework.checker.initialization.InitializationAnnotatedTypeFactory.InitializationQualifierHierarchy
greatestLowerBoundInitialization, isSubtypeInitialization, leastUpperBoundInitialization, lubTypeFrame
Methods inherited from class org.checkerframework.framework.type.MostlyNoElementQualifierHierarchy
greatestLowerBound, isSubtype, leastUpperBound
Methods inherited from class org.checkerframework.framework.type.ElementQualifierHierarchy
createBottomsMap, createElementlessQualifierMap, createQualifierKindHierarchy, createTopsMap, findAnnotationInHierarchy, findAnnotationInSameHierarchy, getBottomAnnotation, getBottomAnnotations, getPolymorphicAnnotation, getQualifierKind, getQualifierKind, getTopAnnotation, getTopAnnotations, isPolymorphicQualifier, isValid
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.checkerframework.framework.type.QualifierHierarchy
getWidth, greatestLowerBounds, isSubtype, leastUpperBounds, numberOfIterationsBeforeWidening, updateMappingToMutableSet, widenedUpperBound
-
Constructor Details
-
NullnessQualifierHierarchy
public NullnessQualifierHierarchy()Creates NullnessQualifierHierarchy.
-
-
Method Details
-
isSubtypeWithElements
protected boolean isSubtypeWithElements(AnnotationMirror subAnno, QualifierKind subKind, AnnotationMirror superAnno, QualifierKind superKind) Description copied from class:MostlyNoElementQualifierHierarchy
Returns true ifsubAnno
is a subtype ofsuperAnno
. BothsubAnno
andsuperAnno
are annotations with elements.subKind
is a sub qualifier kind ofsuperKind
.- Specified by:
isSubtypeWithElements
in classMostlyNoElementQualifierHierarchy
- Parameters:
subAnno
- possible subtype annotation; has elementssubKind
- QualifierKind ofsubAnno
superAnno
- possible super annotation; has elementssuperKind
- QualifierKind ofsuperAnno
- Returns:
- true if
subAnno
is a subtype ofsuperAnno
-
leastUpperBoundWithElements
protected AnnotationMirror leastUpperBoundWithElements(AnnotationMirror a1, QualifierKind qualifierKind1, AnnotationMirror a2, QualifierKind qualifierKind2, QualifierKind lubKind) Description copied from class:MostlyNoElementQualifierHierarchy
Returns the least upper bound ofa1
anda2
in cases where the lub ofqualifierKind1
andqualifierKind2
is a qualifier kind that has elements. If the lub ofqualifierKind1
andqualifierKind2
does not have elements, thenMostlyNoElementQualifierHierarchy.leastUpperBound(AnnotationMirror, AnnotationMirror)
returns the correctAnnotationMirror
without calling this method.- Specified by:
leastUpperBoundWithElements
in classMostlyNoElementQualifierHierarchy
- Parameters:
a1
- first annotationqualifierKind1
- QualifierKind fora1
a2
- second annotationqualifierKind2
- QualifierKind fora2
lubKind
- the kind of the lub ofqualifierKind1
andqualifierKind2
- Returns:
- the least upper bound of
a1
anda2
-
greatestLowerBoundWithElements
protected AnnotationMirror greatestLowerBoundWithElements(AnnotationMirror a1, QualifierKind qualifierKind1, AnnotationMirror a2, QualifierKind qualifierKind2, QualifierKind glbKind) Description copied from class:MostlyNoElementQualifierHierarchy
Returns the greatest lower bound ofa1
anda2
in cases where the glb ofqualifierKind1
andqualifierKind2
is a qualifier kind that has elements. If the glb ofqualifierKind1
andqualifierKind2
does not have elements, thenMostlyNoElementQualifierHierarchy.greatestLowerBound(AnnotationMirror, AnnotationMirror)
returns the correctAnnotationMirror
without calling this method.- Specified by:
greatestLowerBoundWithElements
in classMostlyNoElementQualifierHierarchy
- Parameters:
a1
- first annotationqualifierKind1
- QualifierKind fora1
a2
- second annotationqualifierKind2
- QualifierKind fora2
- Returns:
- the greatest lower bound between
a1
anda2
-