protected final class UpperBoundAnnotatedTypeFactory.UpperBoundQualifierHierarchy
extends org.checkerframework.framework.util.MultiGraphQualifierHierarchy
Constructor and Description |
---|
UpperBoundQualifierHierarchy(org.checkerframework.framework.util.MultiGraphQualifierHierarchy.MultiGraphFactory factory) |
Modifier and Type | Method and Description |
---|---|
javax.lang.model.element.AnnotationMirror |
greatestLowerBound(javax.lang.model.element.AnnotationMirror a1,
javax.lang.model.element.AnnotationMirror a2) |
boolean |
isSubtype(javax.lang.model.element.AnnotationMirror subAnno,
javax.lang.model.element.AnnotationMirror superAnno)
Computes subtyping as per the subtyping in the qualifier hierarchy structure unless both
annotations are the same.
|
javax.lang.model.element.AnnotationMirror |
leastUpperBound(javax.lang.model.element.AnnotationMirror a1,
javax.lang.model.element.AnnotationMirror a2)
Determines the least upper bound of a1 and a2.
|
int |
numberOfIterationsBeforeWidening() |
javax.lang.model.element.AnnotationMirror |
widenedUpperBound(javax.lang.model.element.AnnotationMirror newQualifier,
javax.lang.model.element.AnnotationMirror previousQualifier) |
addPolyRelations, buildFullMap, findBottoms, findLub, findTops, finish, getBottomAnnotation, getBottomAnnotations, getPolymorphicAnnotation, getTopAnnotation, getTopAnnotations, getTypeQualifiers, greatestLowerBoundTypeVariable, isSubtype, isSubtypeTypeVariable, isSubtypeTypeVariable, leastUpperBoundTypeVariable, toString
canHaveEmptyAnnotationSet, findAnnotationInHierarchy, findAnnotationInSameHierarchy, getWidth, greatestLowerBound, greatestLowerBounds, greatestLowerBounds, greatestLowerBoundsTypeVariable, isSubtype, isSubtype, isValid, leastUpperBound, leastUpperBounds, leastUpperBounds, leastUpperBoundsTypeVariable, replacePolyAll, updateMappingToMutableSet
public UpperBoundQualifierHierarchy(org.checkerframework.framework.util.MultiGraphQualifierHierarchy.MultiGraphFactory factory)
factory
- MultiGraphFactory to use to construct thispublic javax.lang.model.element.AnnotationMirror greatestLowerBound(javax.lang.model.element.AnnotationMirror a1, javax.lang.model.element.AnnotationMirror a2)
greatestLowerBound
in class org.checkerframework.framework.util.MultiGraphQualifierHierarchy
public javax.lang.model.element.AnnotationMirror leastUpperBound(javax.lang.model.element.AnnotationMirror a1, javax.lang.model.element.AnnotationMirror a2)
leastUpperBound
in class org.checkerframework.framework.util.MultiGraphQualifierHierarchy
public javax.lang.model.element.AnnotationMirror widenedUpperBound(javax.lang.model.element.AnnotationMirror newQualifier, javax.lang.model.element.AnnotationMirror previousQualifier)
widenedUpperBound
in class org.checkerframework.framework.type.QualifierHierarchy
public int numberOfIterationsBeforeWidening()
numberOfIterationsBeforeWidening
in class org.checkerframework.framework.type.QualifierHierarchy
public boolean isSubtype(javax.lang.model.element.AnnotationMirror subAnno, javax.lang.model.element.AnnotationMirror superAnno)
isSubtype
in class org.checkerframework.framework.util.MultiGraphQualifierHierarchy