KT-12793 Code completion doesn't suggest abstract protected extension methods
#KT-12793 Fixed
This commit is contained in:
@@ -28,6 +28,7 @@ import org.jetbrains.kotlin.lexer.KtModifierKeywordToken
|
||||
import org.jetbrains.kotlin.lexer.KtTokens
|
||||
import org.jetbrains.kotlin.psi.KtExpression
|
||||
import org.jetbrains.kotlin.resolve.BindingContext
|
||||
import org.jetbrains.kotlin.resolve.descriptorUtil.isExtension
|
||||
import org.jetbrains.kotlin.resolve.DescriptorUtils
|
||||
import org.jetbrains.kotlin.resolve.OverridingUtil
|
||||
import org.jetbrains.kotlin.resolve.findOriginalTopMostOverriddenDescriptors
|
||||
@@ -62,7 +63,8 @@ private fun DeclarationDescriptorWithVisibility.isVisible(
|
||||
|
||||
if (bindingContext == null || resolutionScope == null) return false
|
||||
|
||||
if (receiverExpression != null) {
|
||||
// for extension it makes no sense to check explicit receiver because we need dispatch receiver which is implicit in this case
|
||||
if (receiverExpression != null && !isExtension) {
|
||||
val receiverType = bindingContext.getType(receiverExpression) ?: return false
|
||||
val explicitReceiver = ExpressionReceiver.create(receiverExpression, receiverType, bindingContext)
|
||||
return Visibilities.isVisible(explicitReceiver, this, from)
|
||||
|
||||
Reference in New Issue
Block a user