Skip to content

Commit 2986307

Browse files
committed
Ignore potentially invalid JSON introspection schemas in resolve (#537)
1 parent 893f9a7 commit 2986307

File tree

1 file changed

+11
-3
lines changed

1 file changed

+11
-3
lines changed

src/main/com/intellij/lang/jsgraphql/ide/introspection/GraphQLIntrospectionFilesManager.java

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import com.intellij.lang.jsgraphql.GraphQLSettings;
55
import com.intellij.lang.jsgraphql.psi.GraphQLFile;
66
import com.intellij.openapi.diagnostic.Logger;
7+
import com.intellij.openapi.progress.ProcessCanceledException;
78
import com.intellij.openapi.project.Project;
89
import com.intellij.openapi.vfs.VirtualFile;
910
import com.intellij.psi.PsiFile;
@@ -28,12 +29,19 @@ private GraphQLIntrospectionFilesManager() {
2829
Project project = psiFile.getProject();
2930
GraphQLSettings settings = GraphQLSettings.getSettings(project);
3031

31-
final String introspectionJsonAsGraphQL =
32-
GraphQLIntrospectionService.getInstance(project).printIntrospectionAsGraphQL(psiFile.getText());
32+
String introspection = "";
33+
try {
34+
introspection = GraphQLIntrospectionService.getInstance(project).printIntrospectionAsGraphQL(psiFile.getText());
35+
} catch (ProcessCanceledException e) {
36+
throw e;
37+
} catch (Exception e) {
38+
LOG.warn(e);
39+
}
40+
3341
final PsiFileFactory psiFileFactory = PsiFileFactory.getInstance(project);
3442
final String fileName = file.getPath();
3543
final GraphQLFile newIntrospectionFile =
36-
(GraphQLFile) psiFileFactory.createFileFromText(fileName, GraphQLLanguage.INSTANCE, introspectionJsonAsGraphQL);
44+
(GraphQLFile) psiFileFactory.createFileFromText(fileName, GraphQLLanguage.INSTANCE, introspection);
3745
newIntrospectionFile.putUserData(IS_GRAPHQL_INTROSPECTION_SDL, true);
3846
newIntrospectionFile.putUserData(GRAPHQL_INTROSPECTION_SDL_TO_JSON, psiFile);
3947
newIntrospectionFile.getVirtualFile().putUserData(IS_GRAPHQL_INTROSPECTION_SDL, true);

0 commit comments

Comments
 (0)