protected class FenumAnnotatedTypeFactory.FenumQualifierHierarchy extends MostlyNoElementQualifierHierarchy
bottoms, bottomsMap, kindToElementlessQualifier, qualifierKindHierarchy, tops, topsMap
Constructor and Description |
---|
FenumQualifierHierarchy(Collection<Class<? extends Annotation>> qualifierClasses,
Elements elements)
Creates FenumQualifierHierarchy.
|
Modifier and Type | Method and Description |
---|---|
protected QualifierKindHierarchy |
createQualifierKindHierarchy(Collection<Class<? extends Annotation>> qualifierClasses)
Create the
QualifierKindHierarchy . |
protected AnnotationMirror |
greatestLowerBoundWithElements(AnnotationMirror a1,
QualifierKind qualifierKind1,
AnnotationMirror a2,
QualifierKind qualifierKind2)
Returns the greatest lower bound of
a1 and a2 in cases where the glb of
qualifierKind1 and qualifierKind2 is a qualifier kind that has elements. |
protected boolean |
isSubtypeWithElements(AnnotationMirror subAnno,
QualifierKind subKind,
AnnotationMirror superAnno,
QualifierKind superKind)
Returns true if
subAnno is a subtype of superAnno . |
protected AnnotationMirror |
leastUpperBoundWithElements(AnnotationMirror a1,
QualifierKind qualifierKind1,
AnnotationMirror a2,
QualifierKind qualifierKind2)
Returns the least upper bound of
a1 and a2 in cases where the lub of qualifierKind1 and qualifierKind2 is a qualifier kind that has elements. |
greatestLowerBound, isSubtype, leastUpperBound
createBottomsMap, createElementlessQualifierMap, createTopsMap, findAnnotationInHierarchy, findAnnotationInSameHierarchy, getBottomAnnotation, getBottomAnnotations, getPolymorphicAnnotation, getQualifierKind, getQualifierKind, getTopAnnotation, getTopAnnotations, isPolymorphicQualifier, isValid
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
assertSameSize, assertSameSize, canHaveEmptyAnnotationSet, getWidth, greatestLowerBound, greatestLowerBounds, greatestLowerBounds, greatestLowerBoundsTypeVariable, greatestLowerBoundTypeVariable, isSubtype, isSubtype, isSubtype, isSubtypeTypeVariable, isSubtypeTypeVariable, leastUpperBound, leastUpperBounds, leastUpperBounds, leastUpperBoundsTypeVariable, leastUpperBoundTypeVariable, numberOfIterationsBeforeWidening, updateMappingToMutableSet, widenedUpperBound
public FenumQualifierHierarchy(Collection<Class<? extends Annotation>> qualifierClasses, Elements elements)
qualifierClasses
- qualifier classeselements
- element utilsprotected QualifierKindHierarchy createQualifierKindHierarchy(@UnderInitialization FenumAnnotatedTypeFactory.FenumQualifierHierarchy this, Collection<Class<? extends Annotation>> qualifierClasses)
ElementQualifierHierarchy
QualifierKindHierarchy
. (Subclasses may override to return a subclass of
QualifierKindHierarchy.)createQualifierKindHierarchy
in class ElementQualifierHierarchy
qualifierClasses
- classes of annotations that are the qualifiers for this hierarchyprotected boolean isSubtypeWithElements(AnnotationMirror subAnno, QualifierKind subKind, AnnotationMirror superAnno, QualifierKind superKind)
MostlyNoElementQualifierHierarchy
subAnno
is a subtype of superAnno
. Both subAnno
and
superAnno
are annotations with elements. subKind
is a sub qualifier kind of
superKind
.isSubtypeWithElements
in class MostlyNoElementQualifierHierarchy
subAnno
- possible subtype annotation; has elementssubKind
- QualifierKind of subAnno
superAnno
- possible super annotation; has elementssuperKind
- QualifierKind of superAnno
subAnno
is a subtype of superAnno
protected AnnotationMirror leastUpperBoundWithElements(AnnotationMirror a1, QualifierKind qualifierKind1, AnnotationMirror a2, QualifierKind qualifierKind2)
MostlyNoElementQualifierHierarchy
a1
and a2
in cases where the lub of qualifierKind1
and qualifierKind2
is a qualifier kind that has elements. If the lub
of qualifierKind1
and qualifierKind2
does not have elements, then MostlyNoElementQualifierHierarchy.leastUpperBound(AnnotationMirror, AnnotationMirror)
returns the correct AnnotationMirror
without calling this method.leastUpperBoundWithElements
in class MostlyNoElementQualifierHierarchy
a1
- first annotationqualifierKind1
- QualifierKind for a1
a2
- second annotationqualifierKind2
- QualifierKind for a2
a1
and a2
protected AnnotationMirror greatestLowerBoundWithElements(AnnotationMirror a1, QualifierKind qualifierKind1, AnnotationMirror a2, QualifierKind qualifierKind2)
MostlyNoElementQualifierHierarchy
a1
and a2
in cases where the glb of
qualifierKind1
and qualifierKind2
is a qualifier kind that has elements. If
the glb of qualifierKind1
and qualifierKind2
does not have elements, then
MostlyNoElementQualifierHierarchy.greatestLowerBound(AnnotationMirror, AnnotationMirror)
returns the correct AnnotationMirror
without calling this method.greatestLowerBoundWithElements
in class MostlyNoElementQualifierHierarchy
a1
- first annotationqualifierKind1
- QualifierKind for a1
a2
- second annotationqualifierKind2
- QualifierKind for a2
a1
and a2