From 490ff621b67954715391c1917d9ad4b9205b9a2b Mon Sep 17 00:00:00 2001 From: Nikolay Krasko Date: Tue, 14 Jun 2016 16:32:59 +0300 Subject: [PATCH] Implement isInheritor method with utility method that has special behaviour for anonymous classes --- .../kotlin/asJava/KtLightClassForAnonymousDeclaration.kt | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/compiler/light-classes/src/org/jetbrains/kotlin/asJava/KtLightClassForAnonymousDeclaration.kt b/compiler/light-classes/src/org/jetbrains/kotlin/asJava/KtLightClassForAnonymousDeclaration.kt index da320b7e07a..91c8e26f24c 100644 --- a/compiler/light-classes/src/org/jetbrains/kotlin/asJava/KtLightClassForAnonymousDeclaration.kt +++ b/compiler/light-classes/src/org/jetbrains/kotlin/asJava/KtLightClassForAnonymousDeclaration.kt @@ -18,6 +18,7 @@ package org.jetbrains.kotlin.asJava import com.intellij.openapi.diagnostic.Logger import com.intellij.psi.* +import com.intellij.psi.impl.InheritanceImplUtil import com.intellij.psi.search.GlobalSearchScope import com.intellij.reference.SoftReference import org.jetbrains.kotlin.name.FqName @@ -99,6 +100,14 @@ internal open class KtLightClassForAnonymousDeclaration(name: FqName, return classOrObject.hashCode() } + override fun isInheritor(baseClass: PsiClass, checkDeep: Boolean): Boolean { + if (baseClass is KtLightClassForExplicitDeclaration) { + return super.isInheritor(baseClass, checkDeep) + } + + return InheritanceImplUtil.isInheritor(this, baseClass, checkDeep) + } + override fun getNameIdentifier() = null override fun getQualifiedName(): String? = null override fun getModifierList(): PsiModifierList? = null