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 |
---|---|
AnnotationMirror |
greatestLowerBound(AnnotationMirror a1,
AnnotationMirror a2) |
boolean |
isSubtype(AnnotationMirror subAnno,
AnnotationMirror superAnno)
Computes subtyping as per the subtyping in the qualifier hierarchy structure unless both
annotations are the same.
|
AnnotationMirror |
leastUpperBound(AnnotationMirror a1,
AnnotationMirror a2)
Determines the least upper bound of a1 and a2.
|
int |
numberOfIterationsBeforeWidening() |
AnnotationMirror |
widenedUpperBound(AnnotationMirror newQualifier,
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 AnnotationMirror greatestLowerBound(AnnotationMirror a1, AnnotationMirror a2)
greatestLowerBound
in class org.checkerframework.framework.util.MultiGraphQualifierHierarchy
public AnnotationMirror leastUpperBound(AnnotationMirror a1, AnnotationMirror a2)
leastUpperBound
in class org.checkerframework.framework.util.MultiGraphQualifierHierarchy
public AnnotationMirror widenedUpperBound(AnnotationMirror newQualifier, AnnotationMirror previousQualifier)
widenedUpperBound
in class org.checkerframework.framework.type.QualifierHierarchy
public int numberOfIterationsBeforeWidening()
numberOfIterationsBeforeWidening
in class org.checkerframework.framework.type.QualifierHierarchy
public boolean isSubtype(AnnotationMirror subAnno, AnnotationMirror superAnno)
isSubtype
in class org.checkerframework.framework.util.MultiGraphQualifierHierarchy