Class UnitsAnnotatedTypeFactory.UnitsQualifierHierarchy
java.lang.Object
org.checkerframework.framework.type.QualifierHierarchy
org.checkerframework.framework.type.ElementQualifierHierarchy
org.checkerframework.framework.type.MostlyNoElementQualifierHierarchy
org.checkerframework.checker.units.UnitsAnnotatedTypeFactory.UnitsQualifierHierarchy
- Enclosing class:
UnitsAnnotatedTypeFactory
@AnnotatedFor("nullness")
protected class UnitsAnnotatedTypeFactory.UnitsQualifierHierarchy
extends MostlyNoElementQualifierHierarchy
Qualifier Hierarchy for the Units Checker.
-
Field Summary
Fields inherited from class org.checkerframework.framework.type.ElementQualifierHierarchy
bottoms, bottomsMap, kindToElementlessQualifier, qualifierKindHierarchy, tops, topsMapFields inherited from class org.checkerframework.framework.type.QualifierHierarchy
atypeFactory -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected QualifierKindHierarchycreateQualifierKindHierarchy(Collection<Class<? extends Annotation>> qualifierClasses) Create theQualifierKindHierarchy.protected AnnotationMirrorgreatestLowerBoundWithElements(AnnotationMirror a1, QualifierKind qualifierKind1, AnnotationMirror a2, QualifierKind qualifierKind2, QualifierKind glbKind) Returns the greatest lower bound ofa1anda2in cases where the glb ofqualifierKind1andqualifierKind2is a qualifier kind that has elements.protected booleanisSubtypeWithElements(AnnotationMirror subAnno, QualifierKind subKind, AnnotationMirror superAnno, QualifierKind superKind) Returns true ifsubAnnois a subtype ofsuperAnno.protected AnnotationMirrorleastUpperBoundWithElements(AnnotationMirror a1, QualifierKind qualifierKind1, AnnotationMirror a2, QualifierKind qualifierKind2, QualifierKind lubKind) Returns the least upper bound ofa1anda2in cases where the lub ofqualifierKind1andqualifierKind2is a qualifier kind that has elements.Methods inherited from class org.checkerframework.framework.type.MostlyNoElementQualifierHierarchy
greatestLowerBoundQualifiers, isSubtypeQualifiers, leastUpperBoundQualifiersMethods inherited from class org.checkerframework.framework.type.ElementQualifierHierarchy
createBottomsMap, createElementlessQualifierMap, createTopsMap, findAnnotationInHierarchy, findAnnotationInSameHierarchy, getBottomAnnotation, getBottomAnnotations, getPolymorphicAnnotation, getQualifierKind, getQualifierKind, getTopAnnotation, getTopAnnotations, isPolymorphicQualifier, isValidMethods inherited from class org.checkerframework.framework.type.QualifierHierarchy
assertSameSize, assertSameSize, canHaveEmptyAnnotationSet, getWidth, greatestLowerBoundQualifiersOnly, greatestLowerBoundShallow, greatestLowerBoundsQualifiersOnly, greatestLowerBoundsQualifiersOnly, greatestLowerBoundsShallow, isSubtypeQualifiersOnly, isSubtypeQualifiersOnly, isSubtypeShallow, isSubtypeShallow, isSubtypeShallow, isSubtypeShallow, isTop, leastUpperBoundQualifiersOnly, leastUpperBoundShallow, leastUpperBoundsQualifiersOnly, leastUpperBoundsQualifiersOnly, leastUpperBoundsShallow, numberOfIterationsBeforeWidening, updateMappingToMutableSet, widenedUpperBound
-
Constructor Details
-
UnitsQualifierHierarchy
public UnitsQualifierHierarchy()Constructor.
-
-
Method Details
-
createQualifierKindHierarchy
protected QualifierKindHierarchy createQualifierKindHierarchy(@UnderInitialization UnitsAnnotatedTypeFactory.UnitsQualifierHierarchy this, Collection<Class<? extends Annotation>> qualifierClasses) Description copied from class:ElementQualifierHierarchyCreate theQualifierKindHierarchy. (Subclasses may override to return a subclass of QualifierKindHierarchy.)- Overrides:
createQualifierKindHierarchyin classElementQualifierHierarchy- Parameters:
qualifierClasses- classes of annotations that are the qualifiers for this hierarchy- Returns:
- the newly created qualifier kind hierarchy
-
isSubtypeWithElements
protected boolean isSubtypeWithElements(AnnotationMirror subAnno, QualifierKind subKind, AnnotationMirror superAnno, QualifierKind superKind) Description copied from class:MostlyNoElementQualifierHierarchyReturns true ifsubAnnois a subtype ofsuperAnno. BothsubAnnoandsuperAnnoare annotations with elements.subKindis a sub qualifier kind ofsuperKind.- Specified by:
isSubtypeWithElementsin classMostlyNoElementQualifierHierarchy- Parameters:
subAnno- possible subtype annotation; has elementssubKind- the QualifierKind ofsubAnnosuperAnno- possible super annotation; has elementssuperKind- the QualifierKind ofsuperAnno- Returns:
- true if
subAnnois a subtype ofsuperAnno
-
leastUpperBoundWithElements
protected AnnotationMirror leastUpperBoundWithElements(AnnotationMirror a1, QualifierKind qualifierKind1, AnnotationMirror a2, QualifierKind qualifierKind2, QualifierKind lubKind) Description copied from class:MostlyNoElementQualifierHierarchyReturns the least upper bound ofa1anda2in cases where the lub ofqualifierKind1andqualifierKind2is a qualifier kind that has elements. If the lub ofqualifierKind1andqualifierKind2does not have elements, thenQualifierHierarchy.leastUpperBoundShallow(AnnotationMirror, TypeMirror, AnnotationMirror, TypeMirror)returns the correctAnnotationMirrorwithout calling this method.- Specified by:
leastUpperBoundWithElementsin classMostlyNoElementQualifierHierarchy- Parameters:
a1- first annotationqualifierKind1- QualifierKind fora1a2- second annotationqualifierKind2- QualifierKind fora2lubKind- the kind of the lub ofqualifierKind1andqualifierKind2- Returns:
- the least upper bound of
a1anda2
-
greatestLowerBoundWithElements
protected AnnotationMirror greatestLowerBoundWithElements(AnnotationMirror a1, QualifierKind qualifierKind1, AnnotationMirror a2, QualifierKind qualifierKind2, QualifierKind glbKind) Description copied from class:MostlyNoElementQualifierHierarchyReturns the greatest lower bound ofa1anda2in cases where the glb ofqualifierKind1andqualifierKind2is a qualifier kind that has elements. If the glb ofqualifierKind1andqualifierKind2does not have elements, thenQualifierHierarchy.greatestLowerBoundShallow(AnnotationMirror, TypeMirror, AnnotationMirror, TypeMirror)returns the correctAnnotationMirrorwithout calling this method.- Specified by:
greatestLowerBoundWithElementsin classMostlyNoElementQualifierHierarchy- Parameters:
a1- first annotationqualifierKind1- QualifierKind fora1a2- second annotationqualifierKind2- QualifierKind fora2- Returns:
- the greatest lower bound between
a1anda2
-