protected class AliasingAnnotatedTypeFactory.AliasingQualifierHierarchy extends MultiGraphQualifierHierarchy
MultiGraphQualifierHierarchy.MultiGraphFactorybottoms, polymorphicQualifier, polyQualifiers, supertypesDirect, supertypesTransitive, tops| Modifier | Constructor and Description |
|---|---|
protected |
AliasingQualifierHierarchy(MultiGraphQualifierHierarchy.MultiGraphFactory f) |
| Modifier and Type | Method and Description |
|---|---|
protected java.util.Set<javax.lang.model.element.AnnotationMirror> |
findBottoms(java.util.Map<javax.lang.model.element.AnnotationMirror,java.util.Set<javax.lang.model.element.AnnotationMirror>> supertypes)
Infer the bottoms of the subtype hierarchy.
|
protected java.util.Set<javax.lang.model.element.AnnotationMirror> |
findTops(java.util.Map<javax.lang.model.element.AnnotationMirror,java.util.Set<javax.lang.model.element.AnnotationMirror>> supertypes)
Infer the tops of the subtype hierarchy.
|
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.
|
addPolyRelations, findLub, finish, getBottomAnnotation, getBottomAnnotations, getPolymorphicAnnotation, getTopAnnotation, getTopAnnotations, getTypeQualifiers, greatestLowerBound, greatestLowerBoundTypeVariable, isSubtype, isSubtypeTypeVariable, isSubtypeTypeVariable, leastUpperBound, leastUpperBoundTypeVariable, toString, transitiveClosurecanHaveEmptyAnnotationSet, findAnnotationInHierarchy, findAnnotationInSameHierarchy, getWidth, greatestLowerBound, greatestLowerBounds, greatestLowerBounds, greatestLowerBoundsTypeVariable, isSubtype, isSubtype, isValid, leastUpperBound, leastUpperBounds, leastUpperBounds, leastUpperBoundsTypeVariable, numberOfIterationsBeforeWidening, replacePolyAll, updateMappingToMutableSet, widenedUpperBoundprotected AliasingQualifierHierarchy(MultiGraphQualifierHierarchy.MultiGraphFactory f)
protected java.util.Set<javax.lang.model.element.AnnotationMirror> findBottoms(java.util.Map<javax.lang.model.element.AnnotationMirror,java.util.Set<javax.lang.model.element.AnnotationMirror>> supertypes)
MultiGraphQualifierHierarchyfindBottoms in class MultiGraphQualifierHierarchyprotected java.util.Set<javax.lang.model.element.AnnotationMirror> findTops(java.util.Map<javax.lang.model.element.AnnotationMirror,java.util.Set<javax.lang.model.element.AnnotationMirror>> supertypes)
MultiGraphQualifierHierarchyfindTops 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