protected abstract class InitializationAnnotatedTypeFactory.InitializationQualifierHierarchy extends MostlyNoElementQualifierHierarchy
QualifierHierarchy for the initialization type system.
Type systems extending the Initialization Checker should call methods isSubtypeInitialization(javax.lang.model.element.AnnotationMirror, org.checkerframework.framework.util.QualifierKind, javax.lang.model.element.AnnotationMirror, org.checkerframework.framework.util.QualifierKind) and leastUpperBoundInitialization(javax.lang.model.element.AnnotationMirror, org.checkerframework.framework.util.QualifierKind, javax.lang.model.element.AnnotationMirror, org.checkerframework.framework.util.QualifierKind) for appropriate qualifiers. See
protected subclass NullnessQualifierHierarchy within class NullnessChecker for an
example.
bottoms, bottomsMap, kindToElementlessQualifier, qualifierKindHierarchy, tops, topsMap| Modifier | Constructor and Description |
|---|---|
protected |
InitializationQualifierHierarchy()
Create an InitializationQualifierHierarchy.
|
| Modifier and Type | Method and Description |
|---|---|
protected AnnotationMirror |
greatestLowerBoundInitialization(AnnotationMirror anno1,
QualifierKind qual1,
AnnotationMirror anno2,
QualifierKind qual2)
Compute the greatest lower bound of two initialization qualifiers.
|
boolean |
isSubtypeInitialization(AnnotationMirror subAnno,
QualifierKind subKind,
AnnotationMirror superAnno,
QualifierKind superKind)
Subtype testing for initialization annotations.
|
protected AnnotationMirror |
leastUpperBoundInitialization(AnnotationMirror anno1,
QualifierKind qual1,
AnnotationMirror anno2,
QualifierKind qual2)
Compute the least upper bound of two initialization qualifiers.
|
protected TypeMirror |
lubTypeFrame(TypeMirror a,
TypeMirror b)
Returns the least upper bound of two types.
|
greatestLowerBound, greatestLowerBoundWithElements, isSubtype, isSubtypeWithElements, leastUpperBound, leastUpperBoundWithElementscreateBottomsMap, createElementlessQualifierMap, createQualifierKindHierarchy, createTopsMap, findAnnotationInHierarchy, findAnnotationInSameHierarchy, getBottomAnnotation, getBottomAnnotations, getPolymorphicAnnotation, getQualifierKind, getQualifierKind, getTopAnnotation, getTopAnnotations, isPolymorphicQualifier, isValidclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitassertSameSize, assertSameSize, canHaveEmptyAnnotationSet, getWidth, greatestLowerBound, greatestLowerBounds, greatestLowerBounds, greatestLowerBoundsTypeVariable, greatestLowerBoundTypeVariable, isSubtype, isSubtype, isSubtype, isSubtypeTypeVariable, isSubtypeTypeVariable, leastUpperBound, leastUpperBounds, leastUpperBounds, leastUpperBoundsTypeVariable, leastUpperBoundTypeVariable, numberOfIterationsBeforeWidening, updateMappingToMutableSet, widenedUpperBoundprotected InitializationQualifierHierarchy()
public boolean isSubtypeInitialization(AnnotationMirror subAnno, QualifierKind subKind, AnnotationMirror superAnno, QualifierKind superKind)
subAnno - subtype annotationsubKind - subtype kindsuperAnno - supertype annotationsuperKind - supertype kindprotected AnnotationMirror leastUpperBoundInitialization(AnnotationMirror anno1, QualifierKind qual1, AnnotationMirror anno2, QualifierKind qual2)
anno1 - an initialization qualifierqual1 - a qualifier kindanno2 - an initialization qualifierqual2 - a qualifier kindprotected TypeMirror lubTypeFrame(TypeMirror a, TypeMirror b)
a - the first argumentb - the second argumentprotected AnnotationMirror greatestLowerBoundInitialization(AnnotationMirror anno1, QualifierKind qual1, AnnotationMirror anno2, QualifierKind qual2)
anno1 - an initialization qualifierqual1 - a qualifier kindanno2 - an initialization qualifierqual2 - a qualifier kind