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
.singleOrNull { it.value == dispatchReceiver }?.key
?: return true
if (dispatchReceiverPseudoValue.createdAt != null) {
when (val createdAt = dispatchReceiverPseudoValue.createdAt) {
is ReadValueInstruction -> {
val accessedDescriptor = createdAt.target.accessedDescriptor ?: return true
val accessedDeclaration = accessedDescriptor.originalSource.getPsi() ?: return true
when (accessedDescriptor) {
is ValueParameterDescriptor -> {
accessedDeclaration.passToProcessor(mode.withBehaviour(LambdaReceiverInflowBehaviour))
}
}
when (val createdAt = dispatchReceiverPseudoValue.createdAt) {
is ReadValueInstruction -> {
val accessedDescriptor = createdAt.target.accessedDescriptor
if (accessedDescriptor is ValueParameterDescriptor) {
val accessedDeclaration = accessedDescriptor.originalSource.getPsi()
accessedDeclaration?.passToProcessor(mode.withBehaviour(LambdaReceiverInflowBehaviour))
}
}
}