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,
QualifierKind glbKind)
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,
QualifierKind lubKind)
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, leastUpperBoundcreateBottomsMap, createElementlessQualifierMap, 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, widenedUpperBoundpublic FenumQualifierHierarchy(Collection<Class<? extends Annotation>> qualifierClasses, Elements elements)
qualifierClasses - qualifier classeselements - element utilsprotected QualifierKindHierarchy createQualifierKindHierarchy(@UnderInitialization FenumAnnotatedTypeFactory.FenumQualifierHierarchy this, Collection<Class<? extends Annotation>> qualifierClasses)
ElementQualifierHierarchyQualifierKindHierarchy. (Subclasses may override to return a subclass of
QualifierKindHierarchy.)createQualifierKindHierarchy in class ElementQualifierHierarchyqualifierClasses - classes of annotations that are the qualifiers for this hierarchyprotected boolean isSubtypeWithElements(AnnotationMirror subAnno, QualifierKind subKind, AnnotationMirror superAnno, QualifierKind superKind)
MostlyNoElementQualifierHierarchysubAnno is a subtype of superAnno. Both subAnno and
superAnno are annotations with elements. subKind is a sub qualifier kind of
superKind.isSubtypeWithElements in class MostlyNoElementQualifierHierarchysubAnno - possible subtype annotation; has elementssubKind - QualifierKind of subAnnosuperAnno - possible super annotation; has elementssuperKind - QualifierKind of superAnnosubAnno is a subtype of superAnnoprotected AnnotationMirror leastUpperBoundWithElements(AnnotationMirror a1, QualifierKind qualifierKind1, AnnotationMirror a2, QualifierKind qualifierKind2, QualifierKind lubKind)
MostlyNoElementQualifierHierarchya1 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 MostlyNoElementQualifierHierarchya1 - first annotationqualifierKind1 - QualifierKind for a1a2 - second annotationqualifierKind2 - QualifierKind for a2lubKind - the kind of the lub of qualifierKind1 and qualifierKind2a1 and a2protected AnnotationMirror greatestLowerBoundWithElements(AnnotationMirror a1, QualifierKind qualifierKind1, AnnotationMirror a2, QualifierKind qualifierKind2, QualifierKind glbKind)
MostlyNoElementQualifierHierarchya1 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 MostlyNoElementQualifierHierarchya1 - first annotationqualifierKind1 - QualifierKind for a1a2 - second annotationqualifierKind2 - QualifierKind for a2a1 and a2