Skip to content

Introduce @UnannotatedFor - #144

Merged
wmdietl merged 2 commits into
eisop:masterfrom
aosen-xiong:jspecify-eisop
Sep 14, 2026
Merged

wmdietl merged 2 commits into
eisop:masterfrom
aosen-xiong:jspecify-eisop

Conversation

@aosen-xiong

Copy link
Copy Markdown
Collaborator

Keeps this repo's copy of org.checkerframework.framework.qual byte-identical to eisop/checker-framework's, per checker/bin-devel/check-jdk-consistency.sh (run by CI in eisop/checker-framework#856).

eisop/checker-framework#856 adds @UnannotatedFor, the inverse of @AnnotatedFor: it excludes a package, class, method, or constructor from an enclosing @AnnotatedFor scope. Like @AnnotatedFor, it has an applyToSubpackages element and is @Repeatable(UnannotatedFor.List.class). This adds the byte-identical copy under java.base, as AnnotatedFor.java already is.

Merge together with eisop/checker-framework#856: without this, that PR's check-jdk-consistency.sh fails with File missing in JDK: framework/qual/UnannotatedFor.java. Both branches are named jspecify-eisop so CI's related-repo checkout matches them automatically.

🤖 Generated with Claude Code

Add a copy of checker-qual's new `@UnannotatedFor` declaration annotation,
the inverse of `@AnnotatedFor`, which excludes an element from an enclosing
`@AnnotatedFor` scope. The file is byte-identical to the checker-qual
version, as `AnnotatedFor.java` is.

Companion to eisop/checker-framework#856.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Copilot AI lite review requested due to automatic review settings September 10, 2026 20:54

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

Keeps this repo's copy byte-identical to eisop/checker-framework's, per
`checker/bin-devel/check-jdk-consistency.sh`.

eisop/checker-framework#856 adds to the javadoc that writing both an
`@AnnotatedFor` and an `@UnannotatedFor` naming the same checker on one
declaration is a `conflicting.annotatedfor` warning, and that the
`@AnnotatedFor` wins if it is suppressed.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@wmdietl
wmdietl merged commit 0af1a5a into eisop:master Sep 14, 2026
16 checks passed
@aosen-xiong
aosen-xiong deleted the jspecify-eisop branch September 14, 2026 18:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants