protected abstract class InitializationAnnotatedTypeFactory.InitializationQualifierHierarchy extends MultiGraphQualifierHierarchy
QualifierHierarchy
for the initialization type system. Type systems extending the
Initialization Checker should call methods isSubtypeInitialization(AnnotationMirror, AnnotationMirror)
and leastUpperBoundInitialization(AnnotationMirror,
AnnotationMirror)
for appropriate qualifiers. See protected subclass
NullnessQualifierHierarchy within class NullnessChecker
for an example.MultiGraphQualifierHierarchy.MultiGraphFactory
bottoms, polyQualifiers, supertypesDirect, supertypesTransitive, tops
Modifier | Constructor and Description |
---|---|
protected |
InitializationQualifierHierarchy(MultiGraphQualifierHierarchy.MultiGraphFactory f,
Object... arg)
Create an InitializationQualifierHierarchy.
|
Modifier and Type | Method and Description |
---|---|
AnnotationMirror |
greatestLowerBound(AnnotationMirror anno1,
AnnotationMirror anno2)
Returns the greatest lower bound for the qualifiers qualifier1 and qualifier2.
|
boolean |
isSubtypeInitialization(AnnotationMirror rhs,
AnnotationMirror lhs)
Subtype testing for initialization annotations.
|
protected AnnotationMirror |
leastUpperBoundInitialization(AnnotationMirror anno1,
AnnotationMirror anno2)
Compute the least upper bound of two initialization qualifiers.
|
protected TypeMirror |
lubTypeFrame(TypeMirror a,
TypeMirror b)
Returns the least upper bound of two types.
|
addPolyRelations, findBottoms, findLub, findTops, finish, getBottomAnnotation, getBottomAnnotations, getPolymorphicAnnotation, getTopAnnotation, getTopAnnotations, isPolymorphicQualifier, isSubtype, isSubtype, isValid, leastUpperBound, toString, transitiveClosure
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
assertSameSize, assertSameSize, canHaveEmptyAnnotationSet, findAnnotationInHierarchy, findAnnotationInSameHierarchy, getWidth, greatestLowerBound, greatestLowerBounds, greatestLowerBounds, greatestLowerBoundsTypeVariable, greatestLowerBoundTypeVariable, isSubtype, isSubtype, isSubtypeTypeVariable, isSubtypeTypeVariable, leastUpperBound, leastUpperBounds, leastUpperBounds, leastUpperBoundsTypeVariable, leastUpperBoundTypeVariable, numberOfIterationsBeforeWidening, updateMappingToMutableSet, widenedUpperBound
protected InitializationQualifierHierarchy(MultiGraphQualifierHierarchy.MultiGraphFactory f, Object... arg)
f
- a factory to create to create a GraphQualifierHierarchy
arg
- seems to be ignoredpublic boolean isSubtypeInitialization(AnnotationMirror rhs, AnnotationMirror lhs)
protected AnnotationMirror leastUpperBoundInitialization(AnnotationMirror anno1, AnnotationMirror anno2)
anno1
- an initialization qualifieranno2
- an initialization qualifierprotected TypeMirror lubTypeFrame(TypeMirror a, TypeMirror b)
public AnnotationMirror greatestLowerBound(AnnotationMirror anno1, AnnotationMirror anno2)
QualifierHierarchy
greatestLowerBound
in interface QualifierHierarchy
greatestLowerBound
in class MultiGraphQualifierHierarchy
anno1
- first qualifieranno2
- second qualifier