diff --git a/src/checkers/inference/InferenceAnnotatedTypeFactory.java b/src/checkers/inference/InferenceAnnotatedTypeFactory.java index 293c5859..067a3f53 100644 --- a/src/checkers/inference/InferenceAnnotatedTypeFactory.java +++ b/src/checkers/inference/InferenceAnnotatedTypeFactory.java @@ -28,6 +28,7 @@ import org.checkerframework.framework.util.defaults.QualifierDefaults; import org.checkerframework.framework.util.dependenttypes.DependentTypesHelper; import org.checkerframework.javacutil.AnnotationBuilder; +import org.checkerframework.javacutil.AnnotationUtils; import org.checkerframework.javacutil.BugInCF; import org.checkerframework.javacutil.ElementUtils; import org.checkerframework.javacutil.Pair; @@ -591,7 +592,13 @@ public Set getTypeDeclarationBounds(TypeMirror type) { } // If the declaration bound of the underlying type is not cached, use default - return (Set) getDefaultTypeDeclarationBounds(); + Set realBounds = realTypeFactory.getTypeDeclarationBounds(type); + Set boundsVarAnnos = AnnotationUtils.createAnnotationSet(); + for (AnnotationMirror realBound : realBounds) { + Slot slot = slotManager.getSlot(realBound); + boundsVarAnnos.add(slotManager.getAnnotation(slot)); + } + return boundsVarAnnos; } /**