From b240ae791c57bb32a8d6a45966689e083502743a Mon Sep 17 00:00:00 2001 From: Nikolay Krasko Date: Fri, 3 Mar 2017 15:43:07 +0300 Subject: [PATCH] Minor: extract variable --- .../debugger/DebuggerClassNameProvider.kt | 35 ++++++++++--------- 1 file changed, 19 insertions(+), 16 deletions(-) diff --git a/idea/src/org/jetbrains/kotlin/idea/debugger/DebuggerClassNameProvider.kt b/idea/src/org/jetbrains/kotlin/idea/debugger/DebuggerClassNameProvider.kt index 70575486e54..b8df586a111 100644 --- a/idea/src/org/jetbrains/kotlin/idea/debugger/DebuggerClassNameProvider.kt +++ b/idea/src/org/jetbrains/kotlin/idea/debugger/DebuggerClassNameProvider.kt @@ -191,27 +191,30 @@ class DebuggerClassNameProvider(val myDebugProcess: DebugProcess, val scopes: Li val context = typeMapper.bindingContext val inlineCall = runReadAction { - element.parents.map { - val ktCallExpression: KtCallExpression = when(it) { - is KtFunctionLiteral -> { - val lambdaExpression = it.parent as? KtLambdaExpression - // call(param, { }) - lambdaExpression?.typedParent()?.typedParent()?.typedParent() ?: + val parentCallsWithLambdas = element.parents.map { + val ktCallExpression: KtCallExpression = + when (it) { + is KtFunctionLiteral -> { + val lambdaExpression = it.parent as? KtLambdaExpression + // call(param, { }) + lambdaExpression?.typedParent()?.typedParent()?.typedParent() ?: - // call { } - lambdaExpression?.typedParent()?.typedParent() - } + // call { } + lambdaExpression?.typedParent()?.typedParent() + } - is KtNamedFunction -> { - // call(fun () {}) - it.typedParent()?.typedParent()?.typedParent() - } + is KtNamedFunction -> { + // call(fun () {}) + it.typedParent()?.typedParent()?.typedParent() + } - else -> null - } ?: return@map null + else -> null + } ?: return@map null ktCallExpression to (it as KtElement) - }.lastOrNull { + }.toList() + + parentCallsWithLambdas.lastOrNull { it != null && isInlineCall(context, it.component1()) }?.first } ?: return emptyList()