diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md index 2e0e8f0991e..86ae198b31b 100644 --- a/docs/CHANGELOG.md +++ b/docs/CHANGELOG.md @@ -231,7 +231,7 @@ median of four warm-daemon reps per side). **Closed issues:** -eisop#433, eisop#792, eisop#863, eisop#1801. +eisop#433, eisop#786, eisop#792, eisop#863, eisop#1801. Version 3.49.5-eisop1 (April 26, 2026) diff --git a/framework/src/main/java/org/checkerframework/framework/type/GenericAnnotatedTypeFactory.java b/framework/src/main/java/org/checkerframework/framework/type/GenericAnnotatedTypeFactory.java index 4100f3c63fc..793348b54fa 100644 --- a/framework/src/main/java/org/checkerframework/framework/type/GenericAnnotatedTypeFactory.java +++ b/framework/src/main/java/org/checkerframework/framework/type/GenericAnnotatedTypeFactory.java @@ -930,13 +930,13 @@ public QualifierPolymorphism getQualifierPolymorphism() { @Override protected void postDirectSuperTypes( AnnotatedTypeMirror type, List supertypes) { - super.postDirectSuperTypes(type, supertypes); if (type.getKind() == TypeKind.DECLARED) { for (AnnotatedTypeMirror supertype : supertypes) { Element elt = ((DeclaredType) supertype.getUnderlyingType()).asElement(); addComputedTypeAnnotations(elt, supertype); } } + super.postDirectSuperTypes(type, supertypes); } /** diff --git a/framework/tests/viewpointtest/GenericSelfContainedCrash.java b/framework/tests/viewpointtest/GenericSelfContainedCrash.java new file mode 100644 index 00000000000..b53e78b7d12 --- /dev/null +++ b/framework/tests/viewpointtest/GenericSelfContainedCrash.java @@ -0,0 +1,9 @@ +// Test case for EISOP issue #786: +// https://github.com/eisop/checker-framework/issues/786 +public class GenericSelfContainedCrash { + interface Box {} + + static class BoxImpl implements Box {} + + protected BoxImpl field; +}