Introduce KtClassOrObject.resolveToDescriptorIfAny()
This commit is contained in:
+2
-3
@@ -25,7 +25,6 @@ import com.intellij.psi.impl.light.LightMethod
|
||||
import org.jetbrains.kotlin.asJava.classes.KtLightClass
|
||||
import org.jetbrains.kotlin.asJava.classes.LightClassInheritanceHelper
|
||||
import org.jetbrains.kotlin.asJava.elements.KtLightElement
|
||||
import org.jetbrains.kotlin.descriptors.ClassDescriptor
|
||||
import org.jetbrains.kotlin.idea.KotlinLanguage
|
||||
import org.jetbrains.kotlin.idea.caches.resolve.resolveToDescriptorIfAny
|
||||
import org.jetbrains.kotlin.load.java.structure.LightClassOriginKind
|
||||
@@ -61,8 +60,8 @@ class KtFakeLightClass(override val kotlinOrigin: KtClassOrObject) :
|
||||
LightClassInheritanceHelper.getService(project).isInheritor(this, baseClass, checkDeep).ifSure { return it }
|
||||
|
||||
val baseKtClass = (baseClass as? KtLightClass)?.kotlinOrigin ?: return false
|
||||
val baseDescriptor = baseKtClass.resolveToDescriptorIfAny() as? ClassDescriptor ?: return false
|
||||
val thisDescriptor = kotlinOrigin.resolveToDescriptorIfAny() as? ClassDescriptor ?: return false
|
||||
val baseDescriptor = baseKtClass.resolveToDescriptorIfAny() ?: return false
|
||||
val thisDescriptor = kotlinOrigin.resolveToDescriptorIfAny() ?: return false
|
||||
return if (checkDeep) DescriptorUtils.isSubclass(thisDescriptor, baseDescriptor) else DescriptorUtils.isDirectSubclass(thisDescriptor, baseDescriptor)
|
||||
}
|
||||
}
|
||||
|
||||
+1
-2
@@ -20,7 +20,6 @@ import com.intellij.ide.util.InheritedMembersNodeProvider
|
||||
import com.intellij.ide.util.treeView.smartTree.TreeElement
|
||||
import com.intellij.psi.NavigatablePsiElement
|
||||
import org.jetbrains.kotlin.descriptors.CallableMemberDescriptor
|
||||
import org.jetbrains.kotlin.descriptors.ClassifierDescriptor
|
||||
import org.jetbrains.kotlin.idea.caches.resolve.resolveToDescriptorIfAny
|
||||
import org.jetbrains.kotlin.idea.codeInsight.DescriptorToSourceUtilsIde
|
||||
import org.jetbrains.kotlin.psi.KtClassOrObject
|
||||
@@ -35,7 +34,7 @@ class KotlinInheritedMembersNodeProvider: InheritedMembersNodeProvider<TreeEleme
|
||||
|
||||
val project = element.project
|
||||
|
||||
val descriptor = element.resolveToDescriptorIfAny(BodyResolveMode.FULL) as? ClassifierDescriptor ?: return listOf()
|
||||
val descriptor = element.resolveToDescriptorIfAny(BodyResolveMode.FULL) ?: return listOf()
|
||||
|
||||
val children = ArrayList<TreeElement>()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user