Light Classes: Fix origin search for KtLightSuperTypeReference
Use analyzeFully() when resolving super type references
This commit is contained in:
@@ -65,6 +65,8 @@ abstract class LightClassGenerationSupport {
|
||||
|
||||
abstract fun analyze(element: KtElement): BindingContext
|
||||
|
||||
abstract fun analyzeFully(element: KtElement): BindingContext
|
||||
|
||||
abstract fun getFacadeClasses(facadeFqName: FqName, scope: GlobalSearchScope): Collection<PsiClass>
|
||||
|
||||
abstract fun getMultifilePartClasses(partFqName: FqName, scope: GlobalSearchScope): Collection<PsiClass>
|
||||
|
||||
+1
-1
@@ -44,7 +44,7 @@ class KtLightPsiReferenceList (
|
||||
override val kotlinOrigin by lazyPub {
|
||||
val superTypeList = this@KtLightPsiReferenceList.kotlinOrigin ?: return@lazyPub null
|
||||
val fqNameToFind = clsDelegate.qualifiedName ?: return@lazyPub null
|
||||
val context = LightClassGenerationSupport.getInstance(project).analyze(superTypeList)
|
||||
val context = LightClassGenerationSupport.getInstance(project).analyzeFully(superTypeList)
|
||||
superTypeList.entries.firstOrNull {
|
||||
val referencedType = context[BindingContext.TYPE, it.typeReference]
|
||||
referencedType?.constructor?.declarationDescriptor?.fqNameUnsafe?.asString() == fqNameToFind
|
||||
|
||||
Reference in New Issue
Block a user