Skip to content

JSpecify gigantic wave 4#4301

Draft
dondonz wants to merge 185 commits intomasterfrom
claude/jspecify-wave4
Draft

JSpecify gigantic wave 4#4301
dondonz wants to merge 185 commits intomasterfrom
claude/jspecify-wave4

Conversation

@dondonz
Copy link
Copy Markdown
Member

@dondonz dondonz commented Mar 7, 2026

Over 120 new JSpecify annotated classes in this PR.

Don't review this yet - there's a bunch of other JSpecify PRs that need to be merged in first, and I need to closely check all of these classes again. Opening this PR to let you know it's here.

This branch is branching off the "big wave 3" branch but I'm targeting master so this diff looks very odd.

If this PR is too large and hard to read after all the others get merged in, I'm happy to split this into smaller PRs.

There are only ~10 classes left to annotate after this PR.

claude and others added 30 commits February 28, 2026 23:21
dondonz and others added 23 commits March 7, 2026 20:17
…bleFieldPredicateEnvironment

Co-Authored-By: Claude Opus 4.6 <[email protected]>
…ity, GraphqlFieldVisibility, NoIntrospectionGraphqlFieldVisibility

Co-Authored-By: Claude Opus 4.6 <[email protected]>
Add @nullable to replacedType/replacedInterfaces/replacedWrappedType fields,
nullable return types on getValue/getDataFetcher/getTypeResolver methods,
and fix cascading nullability in GraphQLSchema and Anonymizer.

Co-Authored-By: Claude Opus 4.6 <[email protected]>
# Conflicts:
#	src/test/groovy/graphql/archunit/JSpecifyAnnotationsCheck.groovy
@dondonz dondonz changed the base branch from claude/agent-team-jspecify-Frd74 to master March 7, 2026 20:35
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Mar 7, 2026

Test Report

Test Results

Java Version Total Passed Failed Errors Skipped
Java 11 0 (-5732 🔴) 0 (-5676 🔴) 0 (±0) 0 (±0) 0 (-56)
Java 17 0 (-5732 🔴) 0 (-5675 🔴) 0 (±0) 0 (±0) 0 (-57)
Java 21 0 (-5732 🔴) 0 (-5675 🔴) 0 (±0) 0 (±0) 0 (-57)
Java 25 0 (-5732 🔴) 0 (-5675 🔴) 0 (±0) 0 (±0) 0 (-57)
jcstress 0 (-32 🔴) 0 (-32 🔴) 0 (±0) 0 (±0) 0 (±0)
Total 0 (-22960 🔴) 0 (-22733 🔴) 0 (±0) 0 (±0) 0 (-227)

Updated: 2026-04-04 21:12:43 UTC

TreeParallelTransformer only set List.class as a context var but never
NodeAdapter.class. After JSpecify annotations wrapped getVar() calls with
assertNotNull(), this caused test failures in TreeParallelTransformerTest
and AstTransformerTest.

Co-Authored-By: Claude Opus 4.6 <[email protected]>
public void compute() {
currentContext.setPhase(TraverserContext.Phase.ENTER);
currentContext.setVar(List.class, myZippers);
currentContext.setVar(NodeAdapter.class, nodeAdapter);
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Another interesting bugfix surfaced by JSpecify

# Conflicts:
#	.claude/commands/jspecify-annotate.md
#	src/main/java/graphql/execution/ExecutionContext.java
#	src/main/java/graphql/introspection/GoodFaithIntrospection.java
#	src/main/java/graphql/normalized/ExecutableNormalizedOperation.java
#	src/test/groovy/graphql/archunit/JSpecifyAnnotationsCheck.groovy
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.

2 participants