From e1ab55bcd4d4a300d5cfa72834bf320b551e1f21 Mon Sep 17 00:00:00 2001 From: sariel Date: Sun, 31 Oct 2021 11:03:45 +0200 Subject: Fix some compatibility issues --- .../intellij/sdk/language/SdChooseByNameContributor.java | 13 ++----------- .../src/main/java/org/intellij/sdk/language/SdUtil.java | 16 ++++++---------- .../intellij/sdk/language/findUsages/SdUsageGroup.java | 4 +++- 3 files changed, 11 insertions(+), 22 deletions(-) diff --git a/sd-plugin/src/main/java/org/intellij/sdk/language/SdChooseByNameContributor.java b/sd-plugin/src/main/java/org/intellij/sdk/language/SdChooseByNameContributor.java index f313bb2be59..92eda44a569 100644 --- a/sd-plugin/src/main/java/org/intellij/sdk/language/SdChooseByNameContributor.java +++ b/sd-plugin/src/main/java/org/intellij/sdk/language/SdChooseByNameContributor.java @@ -8,7 +8,6 @@ import com.intellij.openapi.vfs.VirtualFile; import com.intellij.psi.PsiManager; import com.intellij.psi.search.FileTypeIndex; import com.intellij.psi.search.GlobalSearchScope; -import com.intellij.util.indexing.FileBasedIndex; import org.intellij.sdk.language.psi.SdDeclaration; import org.intellij.sdk.language.psi.SdFile; import org.jetbrains.annotations.NotNull; @@ -25,11 +24,7 @@ public class SdChooseByNameContributor implements ChooseByNameContributor { @Override public String @NotNull [] getNames(Project project, boolean includeNonProjectItems) { - Collection virtualFiles = FileBasedIndex.getInstance().getContainingFiles( - FileTypeIndex.NAME, - SdFileType.INSTANCE, - GlobalSearchScope.allScope(project) - ); + Collection virtualFiles = FileTypeIndex.getFiles(SdFileType.INSTANCE, GlobalSearchScope.allScope(project)); List declarations = new ArrayList<>(); @@ -47,11 +42,7 @@ public class SdChooseByNameContributor implements ChooseByNameContributor { @Override public NavigationItem @NotNull [] getItemsByName(String name, String pattern, Project project, boolean includeNonProjectItems) { - Collection virtualFiles = FileBasedIndex.getInstance().getContainingFiles( - FileTypeIndex.NAME, - SdFileType.INSTANCE, - GlobalSearchScope.allScope(project) - ); + Collection virtualFiles = FileTypeIndex.getFiles(SdFileType.INSTANCE, GlobalSearchScope.allScope(project)); List declarations = new ArrayList<>(); diff --git a/sd-plugin/src/main/java/org/intellij/sdk/language/SdUtil.java b/sd-plugin/src/main/java/org/intellij/sdk/language/SdUtil.java index 92e7c9e6f85..a2f55bd30ed 100644 --- a/sd-plugin/src/main/java/org/intellij/sdk/language/SdUtil.java +++ b/sd-plugin/src/main/java/org/intellij/sdk/language/SdUtil.java @@ -11,7 +11,6 @@ import com.intellij.psi.PsiReference; import com.intellij.psi.search.FileTypeIndex; import com.intellij.psi.search.GlobalSearchScope; import com.intellij.psi.util.PsiTreeUtil; -import com.intellij.util.indexing.FileBasedIndex; import org.intellij.sdk.language.psi.SdAnnotationFieldDefinition; import org.intellij.sdk.language.psi.SdArgumentDefinition; import org.intellij.sdk.language.psi.SdDeclaration; @@ -75,8 +74,8 @@ public class SdUtil { } } SdIdentifier ancestorIdentifier = (SdIdentifier) ancestorAST.getPsi(); - return ancestorIdentifier.getReference().resolve(); - + PsiReference ref = ancestorIdentifier.getReference(); + return ref != null ? ref.resolve() : null; } public static String createFunctionDescription(SdFunctionDefinition macro) { @@ -128,12 +127,9 @@ public class SdUtil { if (docName == null) { return result; } - - Collection virtualFiles = FileBasedIndex.getInstance().getContainingFiles( - FileTypeIndex.NAME, - SdFileType.INSTANCE, - GlobalSearchScope.allScope(project) - ); + + Collection virtualFiles = FileTypeIndex.getFiles(SdFileType.INSTANCE, GlobalSearchScope.allScope(project)); + for (VirtualFile vfile : virtualFiles) { SdFile sdFile = (SdFile) PsiManager.getInstance(project).findFile(vfile); if (sdFile != null && !sdFile.getName().equals(docName + ".sd")) { @@ -166,7 +162,7 @@ public class SdUtil { PsiElement curRankProfile = PsiTreeUtil.getParentOfType(element, SdRankProfileDefinition.class); while (curRankProfile != null) { for (SdFunctionDefinition macro : PsiTreeUtil.collectElementsOfType(curRankProfile, SdFunctionDefinition.class)) { - if (macro.getName().equals(name)) { + if (macro.getName() != null && macro.getName().equals(name)) { result.add(macro); return result; } diff --git a/sd-plugin/src/main/java/org/intellij/sdk/language/findUsages/SdUsageGroup.java b/sd-plugin/src/main/java/org/intellij/sdk/language/findUsages/SdUsageGroup.java index 9042be84d75..4c700c64a73 100644 --- a/sd-plugin/src/main/java/org/intellij/sdk/language/findUsages/SdUsageGroup.java +++ b/sd-plugin/src/main/java/org/intellij/sdk/language/findUsages/SdUsageGroup.java @@ -3,7 +3,6 @@ package org.intellij.sdk.language.findUsages; import com.intellij.navigation.ItemPresentation; import com.intellij.navigation.NavigationItemFileStatus; -import com.intellij.openapi.util.NlsSafe; import com.intellij.openapi.util.text.StringUtil; import com.intellij.openapi.vcs.FileStatus; import com.intellij.openapi.vfs.VirtualFile; @@ -91,4 +90,7 @@ public class SdUsageGroup implements UsageGroup { public @Nullable Icon getIcon() { return myIcon; } + + @Override + public void update() {} // here because JetBrains asked } -- cgit v1.2.3