Skip to content

Commit ca9b670

Browse files
committed
Upgrade to graphql-java 15 (#341)
Adds language tooling for: - interfaces implementing other interfaces
1 parent 4d9310a commit ca9b670

File tree

7 files changed

+56
-14
lines changed

7 files changed

+56
-14
lines changed

gen/com/intellij/lang/jsgraphql/GraphQLParser.java

Lines changed: 26 additions & 10 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

gen/com/intellij/lang/jsgraphql/psi/GraphQLInterfaceTypeDefinition.java

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

gen/com/intellij/lang/jsgraphql/psi/GraphQLInterfaceTypeExtensionDefinition.java

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

gen/com/intellij/lang/jsgraphql/psi/impl/GraphQLInterfaceTypeDefinitionImpl.java

Lines changed: 6 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

gen/com/intellij/lang/jsgraphql/psi/impl/GraphQLInterfaceTypeExtensionDefinitionImpl.java

Lines changed: 6 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/grammars/GraphQLParser.bnf

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -282,9 +282,9 @@ inputValueDefinition ::= description? identifier ':' type defaultValue? directiv
282282

283283
private inputValueDefinition_recover ::= !(')' | '}' | inputValueDefinition)
284284

285-
interfaceTypeDefinition ::= description? 'interface' typeNameDefinition directives? fieldsDefinition? {pin=2 extends=typeDefinition implements="com.intellij.lang.jsgraphql.psi.impl.GraphQLDirectivesAware, com.intellij.lang.jsgraphql.psi.impl.GraphQLDescriptionAware, com.intellij.lang.jsgraphql.psi.impl.GraphQLTypeNameDefinitionOwnerPsiElement" methods=[description="quotedString" directives="directive"]}
285+
interfaceTypeDefinition ::= description? 'interface' typeNameDefinition implementsInterfaces? directives? fieldsDefinition? {pin=2 extends=typeDefinition implements="com.intellij.lang.jsgraphql.psi.impl.GraphQLDirectivesAware, com.intellij.lang.jsgraphql.psi.impl.GraphQLDescriptionAware, com.intellij.lang.jsgraphql.psi.impl.GraphQLTypeNameDefinitionOwnerPsiElement" methods=[description="quotedString" directives="directive"]}
286286

287-
interfaceTypeExtensionDefinition ::= 'extend' 'interface' typeName directives? fieldsDefinition? {pin=2 extends=typeExtension implements="com.intellij.lang.jsgraphql.psi.impl.GraphQLDirectivesAware, com.intellij.lang.jsgraphql.psi.impl.GraphQLTypeNameExtensionOwnerPsiElement" methods=[directives="directive"]}
287+
interfaceTypeExtensionDefinition ::= 'extend' 'interface' typeName implementsInterfaces? directives? fieldsDefinition? {pin=2 extends=typeExtension implements="com.intellij.lang.jsgraphql.psi.impl.GraphQLDirectivesAware, com.intellij.lang.jsgraphql.psi.impl.GraphQLTypeNameExtensionOwnerPsiElement" methods=[directives="directive"]}
288288

289289

290290
unionTypeDefinition ::= description? 'union' typeNameDefinition directives? unionMembership? {pin=2 extends=typeDefinition implements="com.intellij.lang.jsgraphql.psi.impl.GraphQLDirectivesAware, com.intellij.lang.jsgraphql.psi.impl.GraphQLDescriptionAware, com.intellij.lang.jsgraphql.psi.impl.GraphQLTypeNameDefinitionOwnerPsiElement" methods=[description="quotedString" directives="directive"]}

src/main/com/intellij/lang/jsgraphql/ide/completion/GraphQLCompletionContributor.java

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -338,19 +338,27 @@ private void completeImpementsKeyword() {
338338
@Override
339339
protected void addCompletions(@NotNull final CompletionParameters parameters, ProcessingContext context, @NotNull CompletionResultSet result) {
340340
final PsiElement completionElement = parameters.getPosition();
341-
final GraphQLTypeSystemDefinition typeDefinition = PsiTreeUtil.getParentOfType(completionElement, GraphQLObjectTypeDefinition.class, GraphQLObjectTypeExtensionDefinition.class);
341+
final GraphQLTypeSystemDefinition typeDefinition = PsiTreeUtil.getParentOfType(completionElement, GraphQLObjectTypeDefinition.class, GraphQLObjectTypeExtensionDefinition.class, GraphQLInterfaceTypeDefinition.class, GraphQLInterfaceTypeExtensionDefinition.class);
342342
if (typeDefinition instanceof GraphQLObjectTypeDefinition && ((GraphQLObjectTypeDefinition) typeDefinition).getImplementsInterfaces() != null) {
343343
return;
344344
}
345345
if (typeDefinition instanceof GraphQLObjectTypeExtensionDefinition && ((GraphQLObjectTypeExtensionDefinition) typeDefinition).getImplementsInterfaces() != null) {
346346
return;
347347
}
348+
if (typeDefinition instanceof GraphQLInterfaceTypeDefinition && ((GraphQLInterfaceTypeDefinition) typeDefinition).getImplementsInterfaces() != null) {
349+
return;
350+
}
351+
if (typeDefinition instanceof GraphQLInterfaceTypeExtensionDefinition && ((GraphQLInterfaceTypeExtensionDefinition) typeDefinition).getImplementsInterfaces() != null) {
352+
return;
353+
}
348354
result.addElement(LookupElementBuilder.create("implements").withBoldness(true).withInsertHandler(AddSpaceInsertHandler.INSTANCE_WITH_AUTO_POPUP));
349355
}
350356
};
351357
final ElementPattern<PsiElement> insideTypeDefElement = PlatformPatterns.or(
352358
psiElement().inside(GraphQLObjectTypeDefinition.class),
353-
psiElement().inside(GraphQLObjectTypeExtensionDefinition.class)
359+
psiElement().inside(GraphQLObjectTypeExtensionDefinition.class),
360+
psiElement().inside(GraphQLInterfaceTypeDefinition.class),
361+
psiElement().inside(GraphQLInterfaceTypeExtensionDefinition.class)
354362
);
355363
extend(CompletionType.BASIC, psiElement(GraphQLElementTypes.NAME).afterLeaf(psiElement(GraphQLElementTypes.NAME).inside(insideTypeDefElement)), provider);
356364
}

0 commit comments

Comments
 (0)