-
Notifications
You must be signed in to change notification settings - Fork 1.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Separate multiple inherited interfaces with &
#1304
Conversation
Wow, I didn't realize this change was in the final draft, interesting. It definitely makes the tokenization easier, I bet For compatibility, how about we continue to accept |
Oh my, I should build a Ragel API 😆 I'm pretty sure it's a violation of Ragel's license. (Or... maybe I'd just have to release it GPL or something ...) |
Sounds good 👍, I'll make that change tonight. |
1e47b29
to
27ac21c
Compare
bb4cf6f adds backwards compatibility. |
Ok, I rebuilt the lexer, I'll merge when it's green |
Thanks for taking care of this! |
This pull request modifies the parser and language printer to support separating multiple inherited interfaces with
&
as per graphql/graphql-js#1169 and graphql/graphql-spec#90.This replaces:
With:
With no changes to the common case of implementing a single interface.
In order to preserve backwards compatibility, the parser temporarily supports the old syntax. The language printer only prints the new syntax though.
Note: We need to revert 27ac21c and generate the parser before merging this as the version of
ragel
onbrew
is not as recent as the version used here.