Commit a6cc631
JSpecify big wave 3 (#4274)
* Add JSpecify agent team orchestrator prompt
https://claude.ai/code/session_01FG3V2VvjSSbUVcjn9FX4yx
* Move to .claude folder
* Add JSpecify annotations to QueryComplexityCalculator
* Add JSpecify annotations to AbortExecutionException
* Add JSpecify annotations to ConditionalNodeDecision
* Add JSpecify annotations to AsyncExecutionStrategy
* Add JSpecify annotations to QueryComplexityInfo
* Add JSpecify annotations to AsyncSerialExecutionStrategy
* Add JSpecify annotations to QueryDepthInfo
* Add JSpecify annotations to CoercedVariables
* Add JSpecify annotations to QueryReducer
* Add JSpecify annotations to QueryAppliedDirective
* Add JSpecify annotations to DataFetcherExceptionHandlerParameters
* Add JSpecify annotations to DataFetcherExceptionHandlerResult
* Add JSpecify annotations to QueryTransformer
* Add JSpecify annotations to DefaultValueUnboxer
* Add JSpecify annotations to QueryAppliedDirectiveArgument
* Add JSpecify annotations to QueryTraversalOptions
* Add JSpecify annotations to QueryVisitor
* Add JSpecify annotations to ExecutionContext
* Add JSpecify annotations to ExecutionId
* Add JSpecify annotations to QueryDirectives
* Add JSpecify annotations to QueryVisitorFieldArgumentEnvironment
* Add JSpecify annotations to QueryVisitorFieldArgumentInputValue
* Add JSpecify annotations to FieldValidationInstrumentation
* Add JSpecify annotations to QueryVisitorFieldArgumentValueEnvironment
* Add JSpecify annotations to SimpleFieldValidation
* Add JSpecify annotations to InstrumentationCreateStateParameters
* Add JSpecify annotations to ExecutionStepInfo
* Add JSpecify annotations to QueryVisitorFieldEnvironment
* Add JSpecify annotations to InstrumentationExecuteOperationParameters
* Add JSpecify annotations to QueryVisitorFragmentDefinitionEnvironment
* Add JSpecify annotations to QueryVisitorFragmentSpreadEnvironment
* Add JSpecify annotations to QueryVisitorInlineFragmentEnvironment
* Add JSpecify annotations to QueryVisitorStub
* Add JSpecify annotations to InstrumentationExecutionParameters
* Add JSpecify annotations to InstrumentationExecutionStrategyParameters
* Add JSpecify annotations to ExecutionStrategyParameters
* Add JSpecify annotations to InstrumentationFieldCompleteParameters
* Add JSpecify annotations to FetchedValue
* Add JSpecify annotations to InstrumentationFieldFetchParameters
* Add JSpecify annotations to InstrumentationFieldParameters
* Add JSpecify annotations to FieldValueInfo
* Add JSpecify annotations to InstrumentationValidationParameters
* Add JSpecify annotations to InputMapDefinesTooManyFieldsException
* Add JSpecify annotations to TracingInstrumentation
* Add JSpecify annotations to ValueTraverser
* Add JSpecify annotations to MergedSelectionSet
* Add JSpecify annotations to MissingRootTypeException
* Add JSpecify annotations to TracingSupport
* Add JSpecify annotations to NonNullableValueCoercedAsNullException
* Add JSpecify annotations to NormalizedVariables
* Add JSpecify annotations to PreparsedDocumentEntry
* Add JSpecify annotations to OneOfNullValueException
* Add JSpecify annotations to ApolloPersistedQuerySupport
* Add JSpecify annotations to OneOfTooManyKeysException
* Add JSpecify annotations to InMemoryPersistedQueryCache
* Add JSpecify annotations to ResultNodesInfo
* Add JSpecify annotations to PersistedQueryCacheMiss
* Add JSpecify annotations to PersistedQueryIdInvalid
* Add JSpecify annotations to PersistedQueryNotFound
* Add JSpecify annotations to ResultPath
* Add JSpecify annotations to DelegatingSubscription
* Add JSpecify annotations to SimpleDataFetcherExceptionHandler
* Add JSpecify annotations to SubscriptionPublisher
* Add JSpecify annotations to SubscriptionExecutionStrategy
* Add JSpecify annotations to UnknownOperationException
* Add JSpecify annotations to UnresolvedTypeException
* Review fixes: correct JSpecify annotations for Wave 1 classes
- QueryAppliedDirectiveArgument: remove @nonnull from Builder methods (import was dropped)
- ResultPath: fix @nullable parent/segment dereferences with assertNotNull
- ExecutionStepInfo: fix @nullable field dereference in getResultKey()
- ExecutionContext: add assertNotNull for AtomicReference.get() calls on errors
- SubscriptionExecutionStrategy: fix @nullable getField()/getDeferredCallContext() dereferences
- AsyncSerialExecutionStrategy: fix @nullable getSubField()/getFieldValueObject() issues
- DataFetcherExceptionHandlerParameters: mark getSourceLocation() @nullable
- ExceptionWhileDataFetching: accept @nullable SourceLocation in constructor
- TracingSupport/UnresolvedTypeError: fix @nullable getParent()/getFieldDefinition() dereferences
- InstrumentationFieldParameters/Complete: fix @nullable getFieldDefinition() in getField()
- ExecutionStepInfoFactory: fix @nullable getField() with assertNotNull
- GraphQL: fix @nullable getDocument() with assertNotNull
- ValueTraverser: fix @nullable newValue passed to ImmutableList.Builder.add()
- MaxQueryDepthInstrumentation: mark getPathLength() param @nullable
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* Remove annotated Wave 1 classes from JSpecify exemption list
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 <noreply@anthropic.com>
* Clarify jspecify-annotate prompt: public API only, fix exemption cleanup
- 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 <noreply@anthropic.com>
* Address comments
* Adjust for new operation directives
* Fix failing tests: update PreparsedDocumentEntry test and remove annotated 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) <noreply@anthropic.com>
* Fix NullAway error: assert document non-null at assignment in GraphQL.parseAndValidate
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Andreas Marek <andimarek@fastmail.fm>1 parent d26e4d6 commit a6cc631
73 files changed
Lines changed: 332 additions & 212 deletions
File tree
- src
- main/java/graphql
- analysis
- values
- execution
- conditional
- directives
- instrumentation
- fieldvalidation
- parameters
- tracing
- preparsed
- persisted
- reactive
- test/groovy/graphql
- archunit
- execution/preparsed
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
27 | 27 | | |
28 | 28 | | |
29 | 29 | | |
30 | | - | |
| 30 | + | |
31 | 31 | | |
32 | 32 | | |
33 | 33 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
550 | 550 | | |
551 | 551 | | |
552 | 552 | | |
553 | | - | |
| 553 | + | |
554 | 554 | | |
555 | 555 | | |
556 | 556 | | |
| |||
565 | 565 | | |
566 | 566 | | |
567 | 567 | | |
568 | | - | |
| 568 | + | |
569 | 569 | | |
570 | 570 | | |
571 | 571 | | |
572 | 572 | | |
573 | 573 | | |
574 | 574 | | |
575 | | - | |
| 575 | + | |
576 | 576 | | |
577 | 577 | | |
578 | 578 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
32 | 32 | | |
33 | 33 | | |
34 | 34 | | |
35 | | - | |
36 | | - | |
| 35 | + | |
| 36 | + | |
37 | 37 | | |
38 | 38 | | |
39 | 39 | | |
| |||
Lines changed: 2 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
| 12 | + | |
12 | 13 | | |
13 | 14 | | |
14 | 15 | | |
| |||
84 | 85 | | |
85 | 86 | | |
86 | 87 | | |
87 | | - | |
| 88 | + | |
88 | 89 | | |
89 | 90 | | |
90 | 91 | | |
| |||
Lines changed: 6 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
7 | 10 | | |
8 | 11 | | |
9 | 12 | | |
| |||
16 | 19 | | |
17 | 20 | | |
18 | 21 | | |
| 22 | + | |
19 | 23 | | |
20 | 24 | | |
21 | 25 | | |
22 | 26 | | |
23 | 27 | | |
24 | | - | |
| 28 | + | |
25 | 29 | | |
26 | 30 | | |
27 | 31 | | |
| |||
95 | 99 | | |
96 | 100 | | |
97 | 101 | | |
| 102 | + | |
98 | 103 | | |
99 | 104 | | |
100 | 105 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
| 6 | + | |
| 7 | + | |
6 | 8 | | |
7 | 9 | | |
8 | 10 | | |
9 | 11 | | |
10 | 12 | | |
11 | 13 | | |
| 14 | + | |
12 | 15 | | |
13 | 16 | | |
14 | 17 | | |
15 | | - | |
16 | | - | |
| 18 | + | |
| 19 | + | |
17 | 20 | | |
18 | 21 | | |
19 | 22 | | |
| |||
35 | 38 | | |
36 | 39 | | |
37 | 40 | | |
38 | | - | |
| 41 | + | |
39 | 42 | | |
40 | 43 | | |
41 | 44 | | |
| |||
44 | 47 | | |
45 | 48 | | |
46 | 49 | | |
47 | | - | |
| 50 | + | |
48 | 51 | | |
49 | 52 | | |
50 | 53 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | 3 | | |
| 4 | + | |
4 | 5 | | |
5 | 6 | | |
6 | 7 | | |
7 | 8 | | |
8 | 9 | | |
9 | 10 | | |
| 11 | + | |
10 | 12 | | |
11 | 13 | | |
12 | 14 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | 3 | | |
| 4 | + | |
4 | 5 | | |
5 | 6 | | |
6 | 7 | | |
| |||
10 | 11 | | |
11 | 12 | | |
12 | 13 | | |
| 14 | + | |
13 | 15 | | |
14 | 16 | | |
15 | 17 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
| 16 | + | |
16 | 17 | | |
17 | 18 | | |
18 | 19 | | |
| |||
31 | 32 | | |
32 | 33 | | |
33 | 34 | | |
| 35 | + | |
34 | 36 | | |
35 | 37 | | |
36 | 38 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | 3 | | |
| 4 | + | |
4 | 5 | | |
5 | 6 | | |
6 | 7 | | |
7 | 8 | | |
8 | 9 | | |
| 10 | + | |
9 | 11 | | |
10 | 12 | | |
11 | 13 | | |
| |||
0 commit comments