diff --git a/.idea/inspectionProfiles/idea_default.xml b/.idea/inspectionProfiles/idea_default.xml
index 334e052ec9c..293455ed11f 100644
--- a/.idea/inspectionProfiles/idea_default.xml
+++ b/.idea/inspectionProfiles/idea_default.xml
@@ -118,6 +118,8 @@
+
+
@@ -399,6 +401,7 @@
+
diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/searchUtil.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/searchUtil.kt
index 01f1e459317..ccc098a9fe8 100644
--- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/searchUtil.kt
+++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/searchUtil.kt
@@ -28,6 +28,7 @@ import com.intellij.psi.search.PsiSearchHelper
import com.intellij.psi.search.SearchScope
import com.intellij.psi.search.searches.ReferencesSearch
import org.jetbrains.kotlin.idea.KotlinFileType
+import org.jetbrains.kotlin.idea.util.compat.psiSearchHelperInstance
import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.psi.KtFile
import org.jetbrains.kotlin.types.expressions.OperatorConventions
@@ -93,8 +94,7 @@ fun SearchScope.excludeFileTypes(vararg fileTypes: FileType): SearchScope {
fun ReferencesSearch.SearchParameters.effectiveSearchScope(element: PsiElement): SearchScope {
if (element == elementToSearch) return effectiveSearchScope
if (isIgnoreAccessScope) return scopeDeterminedByUser
- // BUNCH: 181
- @Suppress("DEPRECATION") val accessScope = PsiSearchHelper.SERVICE.getInstance(element.project).getUseScope(element)
+ val accessScope = psiSearchHelperInstance(element.project).getUseScope(element)
return scopeDeterminedByUser.intersectWith(accessScope)
}
diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/usagesSearch/ExpressionsOfTypeProcessor.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/usagesSearch/ExpressionsOfTypeProcessor.kt
index cb2ce6b76a9..041fb8bf795 100644
--- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/usagesSearch/ExpressionsOfTypeProcessor.kt
+++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/usagesSearch/ExpressionsOfTypeProcessor.kt
@@ -52,6 +52,7 @@ import org.jetbrains.kotlin.idea.search.restrictToKotlinSources
import org.jetbrains.kotlin.idea.util.FuzzyType
import org.jetbrains.kotlin.idea.util.ProjectRootsUtil
import org.jetbrains.kotlin.idea.util.application.runReadAction
+import org.jetbrains.kotlin.idea.util.compat.psiSearchHelperInstance
import org.jetbrains.kotlin.kdoc.psi.impl.KDocName
import org.jetbrains.kotlin.load.java.descriptors.JavaClassDescriptor
import org.jetbrains.kotlin.load.java.sam.SingleAbstractMethodUtils
@@ -368,9 +369,7 @@ class ExpressionsOfTypeProcessor(
}
}
- // BUNCH: 181
- @Suppress("DEPRECATION")
- PsiSearchHelper.SERVICE.getInstance(project).processRequests(searchRequestCollector) { reference ->
+ psiSearchHelperInstance(project).processRequests(searchRequestCollector) { reference ->
if (reference.element.parents.any { it is KtImportDirective }) {
// Found declaration in import - process all file with an ordinal reference search
val containingFile = reference.element.containingFile
diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/util/compat/psiSearchHelper.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/util/compat/psiSearchHelper.kt
new file mode 100644
index 00000000000..eda04aff026
--- /dev/null
+++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/util/compat/psiSearchHelper.kt
@@ -0,0 +1,15 @@
+/*
+ * Copyright 2010-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license
+ * that can be found in the license/LICENSE.txt file.
+ */
+
+package org.jetbrains.kotlin.idea.util.compat
+
+import com.intellij.openapi.project.Project
+import com.intellij.psi.search.PsiSearchHelper
+
+// BUNCH: 181
+@Suppress("IncompatibleAPI")
+fun psiSearchHelperInstance(project: Project): PsiSearchHelper {
+ return PsiSearchHelper.getInstance(project)
+}
\ No newline at end of file
diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/util/compat/psiSearchHelper.kt.181 b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/util/compat/psiSearchHelper.kt.181
new file mode 100644
index 00000000000..5fc20dc7019
--- /dev/null
+++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/util/compat/psiSearchHelper.kt.181
@@ -0,0 +1,15 @@
+/*
+ * Copyright 2010-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license
+ * that can be found in the license/LICENSE.txt file.
+ */
+
+package org.jetbrains.kotlin.idea.util.compat
+
+import com.intellij.openapi.project.Project
+import com.intellij.psi.search.PsiSearchHelper
+
+// BUNCH: 181
+@Suppress("IncompatibleAPI")
+fun psiSearchHelperInstance(project: Project): PsiSearchHelper {
+ return PsiSearchHelper.SERVICE.getInstance(project)
+}
\ No newline at end of file
diff --git a/idea/src/org/jetbrains/kotlin/idea/inspections/CanBeParameterInspection.kt b/idea/src/org/jetbrains/kotlin/idea/inspections/CanBeParameterInspection.kt
index 3274b683c96..2394516b992 100644
--- a/idea/src/org/jetbrains/kotlin/idea/inspections/CanBeParameterInspection.kt
+++ b/idea/src/org/jetbrains/kotlin/idea/inspections/CanBeParameterInspection.kt
@@ -15,7 +15,6 @@ import com.intellij.psi.PsiElement
import com.intellij.psi.PsiElementVisitor
import com.intellij.psi.PsiReference
import com.intellij.psi.search.GlobalSearchScope
-import com.intellij.psi.search.PsiSearchHelper
import com.intellij.psi.search.PsiSearchHelper.SearchCostResult.FEW_OCCURRENCES
import com.intellij.psi.search.PsiSearchHelper.SearchCostResult.ZERO_OCCURRENCES
import com.intellij.psi.search.searches.ReferencesSearch
@@ -25,6 +24,7 @@ import org.jetbrains.kotlin.idea.references.KtSimpleNameReference
import org.jetbrains.kotlin.idea.search.isCheapEnoughToSearchConsideringOperators
import org.jetbrains.kotlin.idea.search.usagesSearch.getAccessorNames
import org.jetbrains.kotlin.idea.stubindex.KotlinSourceFilterScope
+import org.jetbrains.kotlin.idea.util.compat.psiSearchHelperInstance
import org.jetbrains.kotlin.lexer.KtTokens.*
import org.jetbrains.kotlin.psi.*
import org.jetbrains.kotlin.psi.psiUtil.containingClassOrObject
@@ -83,7 +83,7 @@ class CanBeParameterInspection : AbstractKotlinInspection() {
val useScope = parameter.useScope
val restrictedScope = if (useScope is GlobalSearchScope) {
- val psiSearchHelper = PsiSearchHelper.SERVICE.getInstance(parameter.project)
+ val psiSearchHelper = psiSearchHelperInstance(parameter.project)
for (accessorName in parameter.getAccessorNames()) {
when (psiSearchHelper.isCheapEnoughToSearchConsideringOperators(accessorName, useScope, null, null)) {
ZERO_OCCURRENCES -> {
diff --git a/idea/src/org/jetbrains/kotlin/idea/inspections/MemberVisibilityCanBePrivateInspection.kt b/idea/src/org/jetbrains/kotlin/idea/inspections/MemberVisibilityCanBePrivateInspection.kt
index 6ca65fbf5bb..59b5a4d025e 100644
--- a/idea/src/org/jetbrains/kotlin/idea/inspections/MemberVisibilityCanBePrivateInspection.kt
+++ b/idea/src/org/jetbrains/kotlin/idea/inspections/MemberVisibilityCanBePrivateInspection.kt
@@ -43,6 +43,7 @@ import org.jetbrains.kotlin.idea.search.isCheapEnoughToSearchConsideringOperator
import org.jetbrains.kotlin.idea.search.usagesSearch.dataClassComponentFunction
import org.jetbrains.kotlin.idea.search.usagesSearch.descriptor
import org.jetbrains.kotlin.idea.stubindex.KotlinSourceFilterScope
+import org.jetbrains.kotlin.idea.util.compat.psiSearchHelperInstance
import org.jetbrains.kotlin.lexer.KtTokens
import org.jetbrains.kotlin.psi.*
import org.jetbrains.kotlin.psi.psiUtil.*
@@ -102,7 +103,7 @@ class MemberVisibilityCanBePrivateInspection : AbstractKotlinInspection() {
// properties can be referred by component1/component2, which is too expensive to search, don't analyze them
if (declaration is KtParameter && declaration.dataClassComponentFunction() != null) return false
- val psiSearchHelper = PsiSearchHelper.SERVICE.getInstance(declaration.project)
+ val psiSearchHelper = psiSearchHelperInstance(declaration.project)
val useScope = declaration.useScope
val name = declaration.name ?: return false
val restrictedScope = if (useScope is GlobalSearchScope) {
diff --git a/idea/src/org/jetbrains/kotlin/idea/inspections/UnusedSymbolInspection.kt b/idea/src/org/jetbrains/kotlin/idea/inspections/UnusedSymbolInspection.kt
index 3104e068a3a..af26a031baf 100644
--- a/idea/src/org/jetbrains/kotlin/idea/inspections/UnusedSymbolInspection.kt
+++ b/idea/src/org/jetbrains/kotlin/idea/inspections/UnusedSymbolInspection.kt
@@ -24,7 +24,6 @@ import com.intellij.psi.PsiElement
import com.intellij.psi.PsiElementVisitor
import com.intellij.psi.PsiReference
import com.intellij.psi.search.GlobalSearchScope
-import com.intellij.psi.search.PsiSearchHelper
import com.intellij.psi.search.PsiSearchHelper.SearchCostResult.*
import com.intellij.psi.search.SearchScope
import com.intellij.psi.search.searches.DefinitionsScopedSearch
@@ -61,6 +60,7 @@ import org.jetbrains.kotlin.idea.search.usagesSearch.getAccessorNames
import org.jetbrains.kotlin.idea.search.usagesSearch.getClassNameForCompanionObject
import org.jetbrains.kotlin.idea.stubindex.KotlinSourceFilterScope
import org.jetbrains.kotlin.idea.util.ProjectRootsUtil
+import org.jetbrains.kotlin.idea.util.compat.psiSearchHelperInstance
import org.jetbrains.kotlin.idea.util.hasActualsFor
import org.jetbrains.kotlin.lexer.KtTokens
import org.jetbrains.kotlin.psi.*
@@ -221,7 +221,7 @@ class UnusedSymbolInspection : AbstractKotlinInspection() {
private fun hasNonTrivialUsages(declaration: KtNamedDeclaration, descriptor: DeclarationDescriptor? = null): Boolean {
val project = declaration.project
- val psiSearchHelper = PsiSearchHelper.SERVICE.getInstance(project)
+ val psiSearchHelper = psiSearchHelperInstance(project)
val useScope = declaration.useScope
val restrictedScope = if (useScope is GlobalSearchScope) {