More uses of partial body resolve
This commit is contained in:
+2
-1
@@ -45,6 +45,7 @@ import org.jetbrains.kotlin.psi.*
|
||||
import org.jetbrains.kotlin.psi.psiUtil.*
|
||||
import org.jetbrains.kotlin.renderer.render
|
||||
import org.jetbrains.kotlin.resolve.BindingContext
|
||||
import org.jetbrains.kotlin.resolve.lazy.BodyResolveMode
|
||||
import org.jetbrains.kotlin.resolve.scopes.DescriptorKindExclude
|
||||
import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter
|
||||
import org.jetbrains.kotlin.util.supertypesWithAny
|
||||
@@ -546,7 +547,7 @@ class BasicCompletionSession(
|
||||
|
||||
override fun doComplete() {
|
||||
val classOrObject = position.parents.firstIsInstanceOrNull<KtClassOrObject>() ?: return
|
||||
val classDescriptor = resolutionFacade.resolveToDescriptor(classOrObject) as ClassDescriptor
|
||||
val classDescriptor = resolutionFacade.resolveToDescriptor(classOrObject, BodyResolveMode.PARTIAL) as ClassDescriptor
|
||||
var superClasses = classDescriptor.defaultType.constructor.supertypesWithAny()
|
||||
.mapNotNull { it.constructor.declarationDescriptor as? ClassDescriptor }
|
||||
|
||||
|
||||
@@ -33,6 +33,7 @@ import org.jetbrains.kotlin.idea.imports.importableFqName
|
||||
import org.jetbrains.kotlin.psi.KtDeclaration
|
||||
import org.jetbrains.kotlin.renderer.DescriptorRenderer
|
||||
import org.jetbrains.kotlin.renderer.ParameterNameRenderingPolicy
|
||||
import org.jetbrains.kotlin.resolve.lazy.BodyResolveMode
|
||||
|
||||
class KotlinCompletionStatistician : CompletionStatistician() {
|
||||
override fun serialize(element: LookupElement, location: CompletionLocation): StatisticsInfo? {
|
||||
@@ -53,7 +54,7 @@ class KotlinCompletionStatistician : CompletionStatistician() {
|
||||
class KotlinProximityStatistician : ProximityStatistician() {
|
||||
override fun serialize(element: PsiElement, location: ProximityLocation): StatisticsInfo? {
|
||||
if (element !is KtDeclaration) return null
|
||||
val descriptor = element.resolveToDescriptor()
|
||||
val descriptor = element.resolveToDescriptor(BodyResolveMode.PARTIAL)
|
||||
return KotlinStatisticsInfo.forDescriptor(descriptor)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user