protected class CFAbstractValue.ValueLub extends CFAbstractValue.AnnotationSetCombiner
shouldWiden is true, an upper bounds of two sets
of annotations. The computation accounts for sets that are missing annotations in hierarchies.| Constructor and Description |
|---|
ValueLub(boolean shouldWiden)
Creates a
CFAbstractValue.ValueLub. |
| Modifier and Type | Method and Description |
|---|---|
protected @Nullable AnnotationMirror |
combineNoAnnotations(AnnotatedTypeMirror.AnnotatedTypeVariable aAtv,
AnnotatedTypeMirror.AnnotatedTypeVariable bAtv,
AnnotationMirror top,
boolean canCombinedSetBeMissingAnnos)
Returns the primary annotation that result from of combining the two
AnnotatedTypeMirror.AnnotatedTypeVariable. |
protected @Nullable AnnotationMirror |
combineOneAnnotation(AnnotationMirror annotation,
AnnotatedTypeMirror.AnnotatedTypeVariable typeVar,
AnnotationMirror top,
boolean canCombinedSetBeMissingAnnos)
Returns the result of combining
annotation with typeVar. |
protected @Nullable AnnotationMirror |
combineTwoAnnotations(AnnotationMirror a,
AnnotationMirror b,
AnnotationMirror top)
Returns the result of combining the two annotations.
|
combineSetspublic ValueLub(boolean shouldWiden)
CFAbstractValue.ValueLub.shouldWiden - if true, this class computes an upper boundprotected @Nullable AnnotationMirror combineTwoAnnotations(AnnotationMirror a, AnnotationMirror b, AnnotationMirror top)
CFAbstractValue.AnnotationSetCombinertop.combineTwoAnnotations in class CFAbstractValue.AnnotationSetCombinera - an annotation in the hierarchyb - an annotation in the hierarchytop - the top annotation in the hierarchyprotected @Nullable AnnotationMirror combineNoAnnotations(AnnotatedTypeMirror.AnnotatedTypeVariable aAtv, AnnotatedTypeMirror.AnnotatedTypeVariable bAtv, AnnotationMirror top, boolean canCombinedSetBeMissingAnnos)
CFAbstractValue.AnnotationSetCombinerAnnotatedTypeMirror.AnnotatedTypeVariable. If the result has not primary annotation, the null is
returned. This method is called when no annotation exists in either sets for the hierarchy
whose top is top.combineNoAnnotations in class CFAbstractValue.AnnotationSetCombineraAtv - a type variable that does not have a primary annotation in top hierarchybAtv - a type variable that does not have a primary annotation in top hierarchytop - the top annotation in the hierarchycanCombinedSetBeMissingAnnos - whether or notprotected @Nullable AnnotationMirror combineOneAnnotation(AnnotationMirror annotation, AnnotatedTypeMirror.AnnotatedTypeVariable typeVar, AnnotationMirror top, boolean canCombinedSetBeMissingAnnos)
CFAbstractValue.AnnotationSetCombinerannotation with typeVar.
This is called when an annotation exists for the hierarchy in on set, but not the other.
combineOneAnnotation in class CFAbstractValue.AnnotationSetCombinerannotation - an annotationtypeVar - a type variable that does not have a primary annotation in the hierarchytop - the top annotation of the hierarchycanCombinedSetBeMissingAnnos - whether or notannotation with typeVar