Do not filter out synthetic extensions (if they will ever exist in future)
This commit is contained in:
@@ -45,7 +45,6 @@ import org.jetbrains.kotlin.psi.*
|
|||||||
import org.jetbrains.kotlin.psi.psiUtil.isExtensionDeclaration
|
import org.jetbrains.kotlin.psi.psiUtil.isExtensionDeclaration
|
||||||
import org.jetbrains.kotlin.psi.psiUtil.parentsWithSelf
|
import org.jetbrains.kotlin.psi.psiUtil.parentsWithSelf
|
||||||
import org.jetbrains.kotlin.resolve.BindingContext
|
import org.jetbrains.kotlin.resolve.BindingContext
|
||||||
import org.jetbrains.kotlin.resolve.descriptorUtil.isExtension
|
|
||||||
import org.jetbrains.kotlin.resolve.lazy.BodyResolveMode
|
import org.jetbrains.kotlin.resolve.lazy.BodyResolveMode
|
||||||
import org.jetbrains.kotlin.resolve.scopes.DescriptorKindExclude
|
import org.jetbrains.kotlin.resolve.scopes.DescriptorKindExclude
|
||||||
import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter
|
import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter
|
||||||
@@ -163,8 +162,13 @@ abstract class CompletionSession(protected val configuration: CompletionSessionC
|
|||||||
.map { it.resolveToDescriptor() }
|
.map { it.resolveToDescriptor() }
|
||||||
.toSet()
|
.toSet()
|
||||||
|
|
||||||
override fun excludes(descriptor: DeclarationDescriptor)
|
override fun excludes(descriptor: DeclarationDescriptor): Boolean {
|
||||||
= descriptor.isExtension && descriptor.containingDeclaration is PackageFragmentDescriptor && descriptor !in extensionsFromThisFile
|
return descriptor is CallableMemberDescriptor
|
||||||
|
&& descriptor.extensionReceiverParameter != null
|
||||||
|
&& descriptor.containingDeclaration is PackageFragmentDescriptor
|
||||||
|
&& descriptor !in extensionsFromThisFile
|
||||||
|
&& descriptor.kind == CallableMemberDescriptor.Kind.DECLARATION /* do not filter out synthetic extensions from packages */
|
||||||
|
}
|
||||||
|
|
||||||
override val fullyExcludedDescriptorKinds: Int
|
override val fullyExcludedDescriptorKinds: Int
|
||||||
get() = 0
|
get() = 0
|
||||||
|
|||||||
Reference in New Issue
Block a user