protected class AliasingAnnotatedTypeFactory.AliasingQualifierHierarchy extends MultiGraphQualifierHierarchy
MultiGraphQualifierHierarchy.MultiGraphFactorybottoms, polymorphicQualifier, polyQualifiers, supertypesGraph, supertypesMap, tops, typeQualifiers| Modifier | Constructor and Description |
|---|---|
protected |
AliasingQualifierHierarchy(MultiGraphQualifierHierarchy.MultiGraphFactory f) |
| Modifier and Type | Method and Description |
|---|---|
protected Set<AnnotationMirror> |
findBottoms(Map<AnnotationMirror,Set<AnnotationMirror>> supertypes)
Infer the bottoms of the subtype hierarchy.
|
protected Set<AnnotationMirror> |
findTops(Map<AnnotationMirror,Set<AnnotationMirror>> supertypes)
Infer the tops of the subtype hierarchy.
|
boolean |
isSubtype(AnnotationMirror rhs,
AnnotationMirror lhs)
Tests whether rhs is equal to or a sub-qualifier of lhs, according to the type qualifier
hierarchy.
|
addPolyRelations, buildFullMap, findLub, finish, getBottomAnnotation, getBottomAnnotations, getPolymorphicAnnotation, getTopAnnotation, getTopAnnotations, getTypeQualifiers, greatestLowerBound, greatestLowerBoundTypeVariable, isSubtype, isSubtypeTypeVariable, isSubtypeTypeVariable, leastUpperBound, leastUpperBoundTypeVariable, toStringcanHaveEmptyAnnotationSet, findAnnotationInHierarchy, findAnnotationInSameHierarchy, findCorrespondingAnnotation, getAnnotationInHierarchy, getWidth, greatestLowerBound, greatestLowerBounds, greatestLowerBounds, greatestLowerBoundsTypeVariable, isSubtype, isSubtype, isValid, leastUpperBound, leastUpperBounds, leastUpperBounds, leastUpperBoundsTypeVariable, replacePolyAll, updateMappingToMutableSetprotected AliasingQualifierHierarchy(MultiGraphQualifierHierarchy.MultiGraphFactory f)
protected Set<AnnotationMirror> findBottoms(Map<AnnotationMirror,Set<AnnotationMirror>> supertypes)
MultiGraphQualifierHierarchyfindBottoms in class MultiGraphQualifierHierarchyprotected Set<AnnotationMirror> findTops(Map<AnnotationMirror,Set<AnnotationMirror>> supertypes)
MultiGraphQualifierHierarchyfindTops in class MultiGraphQualifierHierarchypublic boolean isSubtype(AnnotationMirror rhs, AnnotationMirror lhs)
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 MultiGraphQualifierHierarchyrhs - the right-hand side, i.e. the sub qualifierlhs - the left-hand side, i.e. the super qualifier