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 — Fix ShallowTypeRefCollector: resolve type refs in applied directive arguments by rstata · Pull Request #4288 · graphql-java/graphql-java ConversationSummary
The result: when (This does not manifest when types are built via ChangesThree locations in
Adds four regression tests in RelatedBug in the
Sorry, something went wrong. Uh oh!
There was an error while loading. Please reload this page. All reactions…ontexts ShallowTypeRefCollector called scanArgumentType(arg) for GraphQLArgument objects in several places but never scanAppliedDirectives(arg.getAppliedDirectives()), and never descended into enum values to scan their applied directives. This left GraphQLTypeReference objects in applied directive argument types unresolved, causing the AppliedDirectiveArgumentsAreValid validator to spuriously fail with "Invalid argument 'x' for applied directive of name 'y'". Three locations fixed: 1. handleObjectType / handleInterfaceType — field argument applied directives were not scanned. Added scanAppliedDirectives(arg.getAppliedDirectives()) inside the field-argument loop of both methods. 2. handleTypeDef — already scanned applied directives on the enum type itself (via the GraphQLDirectiveContainer branch), but never descended into enum values. Added handleEnumType() which scans applied directives on each GraphQLEnumValueDefinition. 3. handleDirective — directive definition argument applied directives were not scanned. Added scanAppliedDirectives(argument.getAppliedDirectives()) inside the argument loop. SchemaUtil.replaceTypeReferences (used by the standard Builder) does a full deep traversal via getChildrenWithTypeReferences() and handles all of these correctly; this change brings ShallowTypeRefCollector in line with that behavior. Adds four regression tests in FastBuilderTest covering: - Applied directive on object type field argument - Applied directive on interface field argument - Applied directive on enum value - Applied directive on directive definition argument Co-Authored-By: Claude Opus 4.6 <[email protected]>
rstata
marked this pull request as draft
Author
All reactions
Sorry, something went wrong. Uh oh!
There was an error while loading. Please reload this page.
rstata
marked this pull request as ready for review
Member
All reactions
Sorry, something went wrong. Uh oh!
There was an error while loading. Please reload this page.
Contributor
All reactions
Sorry, something went wrong. Uh oh!
There was an error while loading. Please reload this page.
Author
All reactions
Sorry, something went wrong. Uh oh!
There was an error while loading. Please reload this page. Uh oh!
There was an error while loading. Please reload this page.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
ReviewersNo reviewsUh oh!
There was an error while loading. Please reload this page. AssigneesNo one assignedLabels
None yet
ProjectsMilestoneNo milestoneDevelopmentSuccessfully merging this pull request may close these issues. Uh oh!
There was an error while loading. Please reload this page. Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| You are visitor 01402503 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |