mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
KTIJ-35225 [kotlin] Account for all types of qualified callable symbols in KDocs in Import Optimizer
Before that, only the functions were accounted for by mistake ^KTIJ-35225 Fixed GitOrigin-RevId: 747cf88412e9d675b2a1d1d0fb0a8387b2564fc8
This commit is contained in:
committed by
intellij-monorepo-bot
parent
377757c683
commit
afda5f8f45
+1
-1
@@ -85,7 +85,7 @@ fun KtReference.canBeResolvedViaImport(target: DeclarationDescriptor, bindingCon
|
||||
if (this is KDocReference) {
|
||||
val qualifier = element.getQualifier() ?: return true
|
||||
return if (target.isExtension) {
|
||||
val elementHasFunctionDescriptor = element.resolveMainReferenceToDescriptors().any { it is FunctionDescriptor }
|
||||
val elementHasFunctionDescriptor = element.resolveMainReferenceToDescriptors().any { it is CallableDescriptor }
|
||||
val qualifierHasClassDescriptor = qualifier.resolveMainReferenceToDescriptors().any { it is ClassDescriptor }
|
||||
elementHasFunctionDescriptor && qualifierHasClassDescriptor
|
||||
} else {
|
||||
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
package kDocReferences_qualifiedExtensions.dependency
|
||||
|
||||
class Foo
|
||||
|
||||
fun Foo.extensionFunction() {}
|
||||
|
||||
val Foo.extensionProperty: String get() = "extension property"
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
package kDocReferences_qualifiedExtensions
|
||||
|
||||
import kDocReferences_qualifiedExtensions.dependency.Foo
|
||||
import kDocReferences_qualifiedExtensions.dependency.extensionFunction
|
||||
import kDocReferences_qualifiedExtensions.dependency.extensionProperty
|
||||
|
||||
/**
|
||||
* Reference to [Foo.extensionFunction]
|
||||
* Reference to [Foo.extensionProperty]
|
||||
*/
|
||||
fun foo() {}
|
||||
+1
-1
@@ -211,7 +211,7 @@ private fun canBeResolvedViaImport(reference: KDocReference, target: KaSymbol):
|
||||
val qualifier = reference.element.getQualifier() ?: return true
|
||||
|
||||
return if (target is KaCallableSymbol && target.isExtension) {
|
||||
val elementHasFunctionDescriptor = reference.element.mainReference.resolveToSymbols().any { it is KaFunctionSymbol }
|
||||
val elementHasFunctionDescriptor = reference.element.mainReference.resolveToSymbols().any { it is KaCallableSymbol }
|
||||
val qualifierHasClassDescriptor = qualifier.mainReference.resolveToSymbols().any { it is KaClassLikeSymbol }
|
||||
elementHasFunctionDescriptor && qualifierHasClassDescriptor
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user