protected class MethodValAnnotatedTypeFactory.MethodValQualifierHierarchy extends MultiGraphQualifierHierarchy
MultiGraphQualifierHierarchy.MultiGraphFactorybottoms, polymorphicQualifier, polyQualifiers, supertypesDirect, supertypesTransitive, tops| Modifier | Constructor and Description |
|---|---|
protected |
MethodValQualifierHierarchy(MultiGraphQualifierHierarchy.MultiGraphFactory factory,
javax.lang.model.element.AnnotationMirror bottom) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
isSubtype(javax.lang.model.element.AnnotationMirror subAnno,
javax.lang.model.element.AnnotationMirror superAnno)
Tests whether rhs is equal to or a sub-qualifier of lhs, according to the type qualifier
hierarchy.
|
javax.lang.model.element.AnnotationMirror |
leastUpperBound(javax.lang.model.element.AnnotationMirror a1,
javax.lang.model.element.AnnotationMirror a2)
Returns the least upper bound for the qualifiers a1 and a2.
|
addPolyRelations, findBottoms, findLub, findTops, finish, getBottomAnnotation, getBottomAnnotations, getPolymorphicAnnotation, getTopAnnotation, getTopAnnotations, getTypeQualifiers, greatestLowerBound, greatestLowerBoundTypeVariable, isSubtype, isSubtypeTypeVariable, isSubtypeTypeVariable, leastUpperBoundTypeVariable, toString, transitiveClosurecanHaveEmptyAnnotationSet, findAnnotationInHierarchy, findAnnotationInSameHierarchy, getWidth, greatestLowerBound, greatestLowerBounds, greatestLowerBounds, greatestLowerBoundsTypeVariable, isSubtype, isSubtype, isValid, leastUpperBound, leastUpperBounds, leastUpperBounds, leastUpperBoundsTypeVariable, numberOfIterationsBeforeWidening, replacePolyAll, updateMappingToMutableSet, widenedUpperBoundprotected MethodValQualifierHierarchy(MultiGraphQualifierHierarchy.MultiGraphFactory factory, javax.lang.model.element.AnnotationMirror bottom)
public javax.lang.model.element.AnnotationMirror leastUpperBound(javax.lang.model.element.AnnotationMirror a1,
javax.lang.model.element.AnnotationMirror a2)
QualifierHierarchyExamples:
leastUpperBound in class MultiGraphQualifierHierarchypublic boolean isSubtype(javax.lang.model.element.AnnotationMirror subAnno,
javax.lang.model.element.AnnotationMirror superAnno)
MultiGraphQualifierHierarchyMost qualifiers have no value fields. However, two annotations with values are subtype of each other only if they have the same values. i.e. I(m) is a subtype of I(n) iff m = n.
When client specifies an annotation, a1, to be a subtype of annotation with values, a2, then a1 is a subtype of all instances of a2 regardless of a2 values.
isSubtype in class MultiGraphQualifierHierarchysubAnno - the sub qualifiersuperAnno - the super qualifier