protected class AccumulationAnnotatedTypeFactory.AccumulationQualifierHierarchy extends MultiGraphQualifierHierarchy
acc() / \ acc(x) acc(y) ... \ / acc(x,y) ... | bottom
MultiGraphQualifierHierarchy.MultiGraphFactory
bottoms, polymorphicQualifier, polyQualifiers, supertypesDirect, supertypesTransitive, tops
Constructor and Description |
---|
AccumulationQualifierHierarchy(MultiGraphQualifierHierarchy.MultiGraphFactory factory)
Create the qualifier hierarchy.
|
Modifier and Type | Method and Description |
---|---|
AnnotationMirror |
getTopAnnotation(AnnotationMirror start)
Return the top qualifier for the given qualifier, that is, the qualifier that is a supertype
of start but no further supertypes exist.
|
AnnotationMirror |
greatestLowerBound(AnnotationMirror a1,
AnnotationMirror a2)
GLB in this type system is set union of the arguments of the two annotations, unless one
of them is bottom, in which case the result is also bottom.
|
boolean |
isSubtype(AnnotationMirror subAnno,
AnnotationMirror superAnno)
isSubtype in this type system is subset.
|
AnnotationMirror |
leastUpperBound(AnnotationMirror a1,
AnnotationMirror a2)
LUB in this type system is set intersection of the arguments of the two annotations,
unless one of them is bottom, in which case the result is the other annotation.
|
addPolyRelations, findBottoms, findLub, findTops, finish, getBottomAnnotation, getBottomAnnotations, getPolymorphicAnnotation, getTopAnnotations, greatestLowerBoundTypeVariable, isSubtype, isSubtypeTypeVariable, isSubtypeTypeVariable, isValid, leastUpperBoundTypeVariable, toString, transitiveClosure
canHaveEmptyAnnotationSet, findAnnotationInHierarchy, findAnnotationInSameHierarchy, getWidth, greatestLowerBound, greatestLowerBounds, greatestLowerBounds, greatestLowerBoundsTypeVariable, isSubtype, isSubtype, leastUpperBound, leastUpperBounds, leastUpperBounds, leastUpperBoundsTypeVariable, numberOfIterationsBeforeWidening, updateMappingToMutableSet, widenedUpperBound
public AccumulationQualifierHierarchy(MultiGraphQualifierHierarchy.MultiGraphFactory factory)
factory
- the factorypublic AnnotationMirror getTopAnnotation(AnnotationMirror start)
QualifierHierarchy
getTopAnnotation
in class MultiGraphQualifierHierarchy
public AnnotationMirror greatestLowerBound(AnnotationMirror a1, AnnotationMirror a2)
greatestLowerBound
in class MultiGraphQualifierHierarchy
a1
- first annotationa2
- second annotationpublic AnnotationMirror leastUpperBound(AnnotationMirror a1, AnnotationMirror a2)
leastUpperBound
in class MultiGraphQualifierHierarchy
public boolean isSubtype(AnnotationMirror subAnno, AnnotationMirror superAnno)
isSubtype
in class MultiGraphQualifierHierarchy
subAnno
- the sub qualifiersuperAnno
- the super qualifier