GeezerVisonThe World Wide Web, restored to 800 pixels of glory. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Home|About|Gaming cabinet|Archives|How it works|Starter sites | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GeezerVison is showing github.com — JSpecify big wave 3 by dondonz · Pull Request #4274 · graphql-java/graphql-java Conversation
|
| * This Exception indicates that the current execution should be aborted. | ||
| */ | ||
| @PublicApi | ||
| @NullMarked |
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
I abruptly ran out of credits here - more is coming
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
Given it's already 66 classes - the next wave will happen in a separate PR
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
Test Results 335 files ±0 335 suites ±0 5m 4s ⏱️ -2s Results for commit 0a77532. ± Comparison against base commit 739403f. This pull request removes 196 and adds 172 tests. Note that renamed tests count towards both.This pull request skips 1 test.♻️ This comment has been updated with latest results. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
All 66 classes annotated in Wave 1 (graphql.analysis, graphql.execution core, and graphql.execution sub-packages) are removed from the exemption list now that they carry @NullMarked. Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
| graphql.execution.reactive.DelegatingSubscription | ||
| graphql.execution.reactive.SubscriptionPublisher | ||
| ``` | ||
|
|
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
Worker 4 got removed because it was covered by previous PRs.
Work from worker 5 onwards will be in another PR. This PR is already quite large
Sorry, something went wrong.
There was an error while loading. Please reload this page.
- Explicitly state that @internal classes must not be annotated - Tighten exemption list cleanup instruction to remove only the annotated class Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
| * @return this builder | ||
| */ | ||
| public Builder valueLiteral(@NonNull Value<?> value) { | ||
| public Builder valueLiteral(Value<?> value) { |
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
So you tuned OFF null marked but this is no less precise than it was. Perhaps a Object.requireNonNull ??
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
That's a good idea
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
Done
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
|
||
| @Nullable | ||
| public List<? extends GraphQLError> getErrors() { | ||
| return errors; |
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
Maybe we should change this so that errors is always non null but some times empty?
Document has to nullable of course. Quasi breaking change but nicer - eg less nullable things
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
That's a good idea, you mentioned this in another class too. I think better to make it an empty list by default, like DataFetcherResult
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
I will add a breaking change label
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
I'm impressed, I have the correct number of fingers on both hands. Models have come a long way. But I'm going to deduct marks for Python references creeping in! |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
Test ReportTest Results
Code Coverage (Java 25)
Changed Class Coverage (1 class)
|
Sorry, something went wrong.
There was an error while loading. Please reload this page.
# Conflicts: # .claude/commands/jspecify-annotate.md # src/main/java/graphql/execution/ExecutionContext.java # src/test/groovy/graphql/archunit/JSpecifyAnnotationsCheck.groovy
…tated classes from exemption list - Update PreparsedDocumentEntryTest to expect empty list instead of null for errors - Remove 10 classes from JSpecify exemption list that are already annotated Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
….parseAndValidate Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
| @Override | ||
| public List<SourceLocation> getLocations() { | ||
| public @Nullable List<SourceLocation> getLocations() { | ||
| return null; |
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
TODO open question if we want null or an empty list here?
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
as a general rule we always do empty list instead of null list
Sorry, something went wrong.
There was an error while loading. Please reload this page.
| @Override | ||
| public List<SourceLocation> getLocations() { | ||
| public @Nullable List<SourceLocation> getLocations() { | ||
| return sourceLocations; |
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
Also a TODO question - should we have any lists returning null?
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
same as above ... in general we always to return empty lists instead of null
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
|
||
| @Override | ||
| public List<SourceLocation> getLocations() { | ||
| public @Nullable List<SourceLocation> getLocations() { |
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
TODO Should any list (not only errors) be nullable?
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
same as above
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
There are some comments about empty list vs null ... I actually think we should create a todo and fix that up later ... lets focus on nullable stuff for now.
Looks good.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
| @Override | ||
| public List<SourceLocation> getLocations() { | ||
| public @Nullable List<SourceLocation> getLocations() { | ||
| return null; |
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
as a general rule we always do empty list instead of null list
Sorry, something went wrong.
There was an error while loading. Please reload this page.
| @Override | ||
| public List<SourceLocation> getLocations() { | ||
| public @Nullable List<SourceLocation> getLocations() { | ||
| return sourceLocations; |
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
same as above ... in general we always to return empty lists instead of null
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
|
||
| @Override | ||
| public List<SourceLocation> getLocations() { | ||
| public @Nullable List<SourceLocation> getLocations() { |
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
same as above
Sorry, something went wrong.
There was an error while loading. Please reload this page.
| @Override | ||
| public List<Object> getPath() { | ||
| public @Nullable List<Object> getPath() { | ||
| return path; |
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
same hear ... about not return null for lists.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
Successfully merging this pull request may close these issues.
There was an error while loading. Please reload this page.