Extraction Engine: Use original topmost descriptors when validating extracted code (fixes 'mutablyFlexibleType' test which failed after migration to generic contains/remove/etc. members in collections)
This commit is contained in:
committed by
Alexey Sedunov
parent
07259fa090
commit
5dc0e7f2d5
@@ -25,7 +25,7 @@ import org.jetbrains.kotlin.lexer.KtTokens
|
||||
import org.jetbrains.kotlin.psi.KtSimpleNameExpression
|
||||
import org.jetbrains.kotlin.psi.psiUtil.getReceiverExpression
|
||||
import org.jetbrains.kotlin.resolve.BindingContext
|
||||
import org.jetbrains.kotlin.resolve.OverridingUtil
|
||||
import org.jetbrains.kotlin.resolve.getOriginalTopmostOverriddenDescriptors
|
||||
import org.jetbrains.kotlin.resolve.scopes.receivers.ExpressionReceiver
|
||||
import org.jetbrains.kotlin.resolve.scopes.receivers.ReceiverValue
|
||||
import org.jetbrains.kotlin.synthetic.SyntheticJavaPropertyDescriptor
|
||||
@@ -85,8 +85,8 @@ public fun compareDescriptors(project: Project, currentDescriptor: DeclarationDe
|
||||
if (compareDescriptorsText(project, currentDescriptor, originalDescriptor)) return true
|
||||
|
||||
if (originalDescriptor is CallableDescriptor && currentDescriptor is CallableDescriptor) {
|
||||
val overriddenOriginalDescriptor = OverridingUtil.getTopmostOverridenDescriptors(originalDescriptor)
|
||||
val overriddenCurrentDescriptor = OverridingUtil.getTopmostOverridenDescriptors(currentDescriptor)
|
||||
val overriddenOriginalDescriptor = originalDescriptor.getOriginalTopmostOverriddenDescriptors()
|
||||
val overriddenCurrentDescriptor = currentDescriptor.getOriginalTopmostOverriddenDescriptors()
|
||||
|
||||
if (overriddenOriginalDescriptor.size() != overriddenCurrentDescriptor.size()) return false
|
||||
return (overriddenCurrentDescriptor zip overriddenOriginalDescriptor ).all {
|
||||
|
||||
Reference in New Issue
Block a user