Minor
This commit is contained in:
@@ -177,21 +177,19 @@ class OutflowSlicer(
|
|||||||
if (function.isImplicitInvokeFunction()) {
|
if (function.isImplicitInvokeFunction()) {
|
||||||
val receiverPseudoValue = instruction.receiverValues.entries.singleOrNull()?.key
|
val receiverPseudoValue = instruction.receiverValues.entries.singleOrNull()?.key
|
||||||
?: return@processPseudocodeUsages
|
?: return@processPseudocodeUsages
|
||||||
if (receiverPseudoValue.createdAt != null) {
|
when (val createdAt = receiverPseudoValue.createdAt) {
|
||||||
when (val createdAt = receiverPseudoValue.createdAt) {
|
is ReadValueInstruction -> {
|
||||||
is ReadValueInstruction -> {
|
val accessedDescriptor = createdAt.target.accessedDescriptor ?: return@processPseudocodeUsages
|
||||||
val accessedDescriptor = createdAt.target.accessedDescriptor ?: return@processPseudocodeUsages
|
if (accessedDescriptor is ValueParameterDescriptor) {
|
||||||
if (accessedDescriptor is ValueParameterDescriptor) {
|
val accessedDeclaration = accessedDescriptor.originalSource.getPsi() ?: return@processPseudocodeUsages
|
||||||
val accessedDeclaration = accessedDescriptor.originalSource.getPsi() ?: return@processPseudocodeUsages
|
val isExtension = accessedDescriptor.type.isExtensionFunctionType
|
||||||
val isExtension = accessedDescriptor.type.isExtensionFunctionType
|
val shift = if (isExtension) 1 else 0
|
||||||
val shift = if (isExtension) 1 else 0
|
val argumentIndex = parameterDescriptor.index - shift
|
||||||
val argumentIndex = parameterDescriptor.index - shift
|
val newMode = if (argumentIndex >= 0)
|
||||||
val newMode = if (argumentIndex >= 0)
|
mode.withBehaviour(LambdaArgumentInflowBehaviour(argumentIndex))
|
||||||
mode.withBehaviour(LambdaArgumentInflowBehaviour(argumentIndex))
|
else
|
||||||
else
|
mode.withBehaviour(LambdaReceiverInflowBehaviour)
|
||||||
mode.withBehaviour(LambdaReceiverInflowBehaviour)
|
accessedDeclaration.passToProcessor(newMode)
|
||||||
accessedDeclaration.passToProcessor(newMode)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user