Class CFAbstractValue.ValueLub
java.lang.Object
CFAbstractValue<V>.AnnotationSetCombiner
org.checkerframework.framework.flow.CFAbstractValue.ValueLub
- Enclosing class:
- CFAbstractValue<V extends CFAbstractValue<V>>
Computes the least upper bound or, if 
shouldWiden is true, an upper bounds of two sets
 of annotations. The computation accounts for sets that are missing annotations in hierarchies.- 
Constructor SummaryConstructorsConstructorDescriptionValueLub(boolean shouldWiden) Creates aCFAbstractValue<V extends CFAbstractValue<V>>.ValueLub.
- 
Method SummaryModifier and TypeMethodDescriptionprotected @Nullable AnnotationMirrorcombineAnnotationWithTypeVar(AnnotationMirror annotation, AnnotatedTypeMirror.AnnotatedTypeVariable typeVar, AnnotationMirror top, boolean canCombinedSetBeMissingAnnos) Returns the result of combiningannotationwithtypeVar.protected @Nullable AnnotationMirrorcombineTwoAnnotations(AnnotationMirror a, TypeMirror aTypeMirror, AnnotationMirror b, TypeMirror bTypeMirror, AnnotationMirror top) Returns the result of combining the two annotations.protected @Nullable AnnotationMirrorcombineTwoTypeVars(AnnotatedTypeMirror.AnnotatedTypeVariable aAtv, AnnotatedTypeMirror.AnnotatedTypeVariable bAtv, AnnotationMirror top, boolean canCombinedSetBeMissingAnnos) Returns the primary annotation that result from of combining the twoAnnotatedTypeMirror.AnnotatedTypeVariable.Methods inherited from class org.checkerframework.framework.flow.CFAbstractValue.AnnotationSetCombinercombineSets
- 
Constructor Details- 
ValueLubpublic ValueLub(boolean shouldWiden) Creates aCFAbstractValue<V extends CFAbstractValue<V>>.ValueLub.- Parameters:
- shouldWiden- if true, this class computes an upper bound
 
 
- 
- 
Method Details- 
combineTwoAnnotationsprotected @Nullable AnnotationMirror combineTwoAnnotations(AnnotationMirror a, TypeMirror aTypeMirror, AnnotationMirror b, TypeMirror bTypeMirror, AnnotationMirror top) Description copied from class:CFAbstractValue.AnnotationSetCombinerReturns the result of combining the two annotations. This method is called when an annotation exists in both sets for the hierarchy whose top istop.- Specified by:
- combineTwoAnnotationsin class- CFAbstractValue<V extends CFAbstractValue<V>>.AnnotationSetCombiner
- Parameters:
- a- an annotation in the hierarchy
- aTypeMirror- the type that is annotated by- a
- b- an annotation in the hierarchy
- bTypeMirror- the type that is annotated by- b
- top- the top annotation in the hierarchy
- Returns:
- the result of combining the two annotations or null if no combination exists
 
- 
combineTwoTypeVarsprotected @Nullable AnnotationMirror combineTwoTypeVars(AnnotatedTypeMirror.AnnotatedTypeVariable aAtv, AnnotatedTypeMirror.AnnotatedTypeVariable bAtv, AnnotationMirror top, boolean canCombinedSetBeMissingAnnos) Description copied from class:CFAbstractValue.AnnotationSetCombinerReturns the primary annotation that result from of combining the twoAnnotatedTypeMirror.AnnotatedTypeVariable. If the result has no primary annotation,nullis returned. This method is called when no annotation exists in either sets for the hierarchy whose top istop.- Specified by:
- combineTwoTypeVarsin class- CFAbstractValue<V extends CFAbstractValue<V>>.AnnotationSetCombiner
- Parameters:
- aAtv- a type variable that does not have a primary annotation in- tophierarchy
- bAtv- a type variable that does not have a primary annotation in- tophierarchy
- top- the top annotation in the hierarchy
- canCombinedSetBeMissingAnnos- whether or not
- Returns:
- the result of combining the two type variables, which may be null
 
- 
combineAnnotationWithTypeVarprotected @Nullable AnnotationMirror combineAnnotationWithTypeVar(AnnotationMirror annotation, AnnotatedTypeMirror.AnnotatedTypeVariable typeVar, AnnotationMirror top, boolean canCombinedSetBeMissingAnnos) Description copied from class:CFAbstractValue.AnnotationSetCombinerReturns the result of combiningannotationwithtypeVar.This is called when an annotation exists for the hierarchy in one set, but not the other. - Specified by:
- combineAnnotationWithTypeVarin class- CFAbstractValue<V extends CFAbstractValue<V>>.AnnotationSetCombiner
- Parameters:
- annotation- an annotation
- typeVar- a type variable that does not have a primary annotation in the hierarchy
- top- the top annotation of the hierarchy
- canCombinedSetBeMissingAnnos- whether or not
- Returns:
- the result of combining annotationwithtypeVar
 
 
-