This commit is contained in:
Valentin Kipyatkov
2020-04-12 23:42:08 +03:00
parent f3b26e1c9a
commit 67021d23e2
@@ -298,16 +298,12 @@ abstract class Slicer(
val dispatchReceiverPseudoValue = instruction.receiverValues.entries val dispatchReceiverPseudoValue = instruction.receiverValues.entries
.singleOrNull { it.value == dispatchReceiver }?.key .singleOrNull { it.value == dispatchReceiver }?.key
?: return true ?: return true
if (dispatchReceiverPseudoValue.createdAt != null) { when (val createdAt = dispatchReceiverPseudoValue.createdAt) {
when (val createdAt = dispatchReceiverPseudoValue.createdAt) { is ReadValueInstruction -> {
is ReadValueInstruction -> { val accessedDescriptor = createdAt.target.accessedDescriptor
val accessedDescriptor = createdAt.target.accessedDescriptor ?: return true if (accessedDescriptor is ValueParameterDescriptor) {
val accessedDeclaration = accessedDescriptor.originalSource.getPsi() ?: return true val accessedDeclaration = accessedDescriptor.originalSource.getPsi()
when (accessedDescriptor) { accessedDeclaration?.passToProcessor(mode.withBehaviour(LambdaReceiverInflowBehaviour))
is ValueParameterDescriptor -> {
accessedDeclaration.passToProcessor(mode.withBehaviour(LambdaReceiverInflowBehaviour))
}
}
} }
} }
} }