diff --git a/.idea/inspectionProfiles/idea_default.xml b/.idea/inspectionProfiles/idea_default.xml index 5773ac8f659..27433fef0fc 100644 --- a/.idea/inspectionProfiles/idea_default.xml +++ b/.idea/inspectionProfiles/idea_default.xml @@ -115,6 +115,7 @@ + diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/declarationsSearch/overridersSearch.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/declarationsSearch/overridersSearch.kt index d6563463eeb..205aaf963b8 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/declarationsSearch/overridersSearch.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/declarationsSearch/overridersSearch.kt @@ -12,7 +12,6 @@ import com.intellij.psi.search.searches.DirectClassInheritorsSearch import com.intellij.psi.search.searches.FunctionalExpressionSearch import com.intellij.psi.search.searches.OverridingMethodsSearch import com.intellij.psi.util.MethodSignatureUtil -import com.intellij.psi.util.PsiUtil import com.intellij.psi.util.TypeConversionUtil import com.intellij.util.EmptyQuery import com.intellij.util.MergeQuery @@ -31,6 +30,7 @@ import org.jetbrains.kotlin.idea.caches.resolve.resolveToDescriptorIfAny import org.jetbrains.kotlin.idea.caches.resolve.unsafeResolveToDescriptor import org.jetbrains.kotlin.idea.core.getDeepestSuperDeclarations import org.jetbrains.kotlin.idea.core.isOverridable +import org.jetbrains.kotlin.idea.core.util.compat.psi.canBeOverridden import org.jetbrains.kotlin.idea.search.allScope import org.jetbrains.kotlin.idea.search.excludeKotlinSources import org.jetbrains.kotlin.idea.util.application.runReadAction @@ -42,7 +42,7 @@ import org.jetbrains.kotlin.util.findCallableMemberBySignature import java.util.* fun PsiElement.isOverridableElement(): Boolean = when (this) { - is PsiMethod -> PsiUtil.canBeOverriden(this) + is PsiMethod -> canBeOverridden(this) is KtDeclaration -> isOverridable() else -> false } @@ -104,7 +104,7 @@ object KotlinPsiMethodOverridersSearch : HierarchySearch(PsiMethodOve object PsiMethodOverridingHierarchyTraverser: HierarchyTraverser { override fun nextElements(current: PsiMethod): Iterable = KotlinPsiMethodOverridersSearch.searchDirectOverriders(current) - override fun shouldDescend(element: PsiMethod): Boolean = PsiUtil.canBeOverriden(element) + override fun shouldDescend(element: PsiMethod): Boolean = canBeOverridden(element) } fun PsiElement.toPossiblyFakeLightMethods(): List { diff --git a/idea/idea-core/src/org/jetbrains/kotlin/idea/core/util/compat/psi/javaPsiUtil.kt b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/util/compat/psi/javaPsiUtil.kt new file mode 100644 index 00000000000..16e87b60013 --- /dev/null +++ b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/util/compat/psi/javaPsiUtil.kt @@ -0,0 +1,18 @@ +/* + * Copyright 2010-2018 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.core.util.compat.psi + +import com.intellij.psi.PsiMethod +import com.intellij.psi.util.PsiUtil + +/** + * Method is absent in 172. + * BUNCH: 173 + */ +@Suppress("IncompatibleAPI") +fun canBeOverridden(method: PsiMethod): Boolean { + return PsiUtil.canBeOverridden(method) +} \ No newline at end of file diff --git a/idea/idea-core/src/org/jetbrains/kotlin/idea/core/util/compat/psi/javaPsiUtil.kt.172 b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/util/compat/psi/javaPsiUtil.kt.172 new file mode 100644 index 00000000000..06836b3581d --- /dev/null +++ b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/util/compat/psi/javaPsiUtil.kt.172 @@ -0,0 +1,18 @@ +/* + * Copyright 2010-2018 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.core.util.compat.psi + +import com.intellij.psi.PsiMethod +import com.intellij.psi.util.PsiUtil + +/** + * Method is absent in 172. + * BUNCH: 173 + */ +@Suppress("IncompatibleAPI") +fun canBeOverridden(method: PsiMethod): Boolean { + return PsiUtil.canBeOverriden(method) +} \ No newline at end of file