Class InitializationParentAnnotatedTypeFactory.InitializationQualifierHierarchy
java.lang.Object
org.checkerframework.framework.type.QualifierHierarchy
org.checkerframework.framework.type.ElementQualifierHierarchy
org.checkerframework.framework.type.MostlyNoElementQualifierHierarchy
org.checkerframework.checker.initialization.InitializationParentAnnotatedTypeFactory.InitializationQualifierHierarchy
- Enclosing class:
InitializationParentAnnotatedTypeFactory
protected class InitializationParentAnnotatedTypeFactory.InitializationQualifierHierarchy
extends MostlyNoElementQualifierHierarchy
The
QualifierHierarchy for the initialization type system.-
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
ConstructorsModifierConstructorDescriptionprotectedCreate an InitializationQualifierHierarchy. -
Method Summary
Modifier and TypeMethodDescriptionprotected AnnotationMirrorgreatestLowerBoundWithElements(AnnotationMirror anno1, QualifierKind qual1, AnnotationMirror anno2, QualifierKind qual2, QualifierKind glbKind) Returns the greatest lower bound ofa1anda2in cases where the glb ofqualifierKind1andqualifierKind2is a qualifier kind that has elements.booleanisSubtypeWithElements(AnnotationMirror subAnno, QualifierKind subKind, AnnotationMirror superAnno, QualifierKind superKind) Returns true ifsubAnnois a subtype ofsuperAnno.protected AnnotationMirrorleastUpperBoundWithElements(AnnotationMirror anno1, QualifierKind qual1, AnnotationMirror anno2, QualifierKind qual2, QualifierKind lubKind) Returns the least upper bound ofa1anda2in cases where the lub ofqualifierKind1andqualifierKind2is a qualifier kind that has elements.protected TypeMirrorlubTypeFrame(TypeMirror a, TypeMirror b) Returns the least upper bound of two Java basetypes (without annotations).Methods inherited from class org.checkerframework.framework.type.MostlyNoElementQualifierHierarchy
greatestLowerBoundQualifiers, isSubtypeQualifiers, leastUpperBoundQualifiersMethods inherited from class org.checkerframework.framework.type.ElementQualifierHierarchy
createBottomsMap, createElementlessQualifierMap, createQualifierKindHierarchy, createTopsMap, findAnnotationInHierarchy, findAnnotationInSameHierarchy, getBottomAnnotation, getBottomAnnotations, getPolymorphicAnnotation, getQualifierKind, getQualifierKind, getTopAnnotation, getTopAnnotations, isPolymorphicQualifier, isValidMethods inherited from class org.checkerframework.framework.type.QualifierHierarchy
assertSameSize, assertSameSize, canHaveEmptyAnnotationSet, getParametricQualifier, getWidth, greatestLowerBoundQualifiersOnly, greatestLowerBoundShallow, greatestLowerBoundsQualifiersOnly, greatestLowerBoundsQualifiersOnly, greatestLowerBoundsShallow, isParametricQualifier, isSubtypeQualifiersOnly, isSubtypeQualifiersOnly, isSubtypeShallow, isSubtypeShallow, isSubtypeShallow, isSubtypeShallow, isTop, leastUpperBoundQualifiersOnly, leastUpperBoundShallow, leastUpperBoundsQualifiersOnly, leastUpperBoundsQualifiersOnly, leastUpperBoundsShallow, numberOfIterationsBeforeWidening, updateMappingToMutableSet, widenedUpperBound
-
Constructor Details
-
InitializationQualifierHierarchy
protected InitializationQualifierHierarchy()Create an InitializationQualifierHierarchy.
-
-
Method Details
-
isSubtypeWithElements
public 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 anno1, QualifierKind qual1, AnnotationMirror anno2, QualifierKind qual2, 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:
anno1- first annotationqual1- QualifierKind fora1anno2- second annotationqual2- QualifierKind fora2lubKind- the kind of the lub ofqualifierKind1andqualifierKind2- Returns:
- the least upper bound of
a1anda2
-
lubTypeFrame
Returns the least upper bound of two Java basetypes (without annotations).- Parameters:
a- the first argumentb- the second argument- Returns:
- the lub of the two arguments
-
greatestLowerBoundWithElements
protected AnnotationMirror greatestLowerBoundWithElements(AnnotationMirror anno1, QualifierKind qual1, AnnotationMirror anno2, QualifierKind qual2, 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:
anno1- first annotationqual1- QualifierKind fora1anno2- second annotationqual2- QualifierKind fora2- Returns:
- the greatest lower bound between
a1anda2
-