Minor: code rearrange
This commit is contained in:
+2
-1
@@ -19,10 +19,11 @@ package org.jetbrains.kotlin.idea.debugger;
|
|||||||
import com.intellij.debugger.PositionManager;
|
import com.intellij.debugger.PositionManager;
|
||||||
import com.intellij.debugger.PositionManagerFactory;
|
import com.intellij.debugger.PositionManagerFactory;
|
||||||
import com.intellij.debugger.engine.DebugProcess;
|
import com.intellij.debugger.engine.DebugProcess;
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
public class KotlinPositionManagerFactory extends PositionManagerFactory {
|
public class KotlinPositionManagerFactory extends PositionManagerFactory {
|
||||||
@Override
|
@Override
|
||||||
public PositionManager createPositionManager(DebugProcess process) {
|
public PositionManager createPositionManager(@NotNull DebugProcess process) {
|
||||||
return new KotlinPositionManager(process);
|
return new KotlinPositionManager(process);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -49,17 +49,17 @@ fun numberOfInlinedFunctions(visibleVariables: List<LocalVariableProxyImpl>): In
|
|||||||
|
|
||||||
fun isInsideInlineArgument(inlineArgument: KtFunction, location: Location, debugProcess: DebugProcessImpl): Boolean {
|
fun isInsideInlineArgument(inlineArgument: KtFunction, location: Location, debugProcess: DebugProcessImpl): Boolean {
|
||||||
val visibleVariables = location.visibleVariables(debugProcess)
|
val visibleVariables = location.visibleVariables(debugProcess)
|
||||||
|
|
||||||
val context = KotlinDebuggerCaches.getOrCreateTypeMapper(inlineArgument).bindingContext
|
|
||||||
|
|
||||||
val lambdaOrdinal = runReadAction { lambdaOrdinalByArgument(inlineArgument, context) }
|
|
||||||
val markerLocalVariables = visibleVariables.filter { it.name().startsWith(JvmAbi.LOCAL_VARIABLE_NAME_PREFIX_INLINE_ARGUMENT) }
|
val markerLocalVariables = visibleVariables.filter { it.name().startsWith(JvmAbi.LOCAL_VARIABLE_NAME_PREFIX_INLINE_ARGUMENT) }
|
||||||
|
|
||||||
|
val context = KotlinDebuggerCaches.getOrCreateTypeMapper(inlineArgument).bindingContext
|
||||||
|
val lambdaOrdinal = runReadAction { lambdaOrdinalByArgument(inlineArgument, context) }
|
||||||
val functionName = runReadAction { functionNameByArgument(inlineArgument, context) }
|
val functionName = runReadAction { functionNameByArgument(inlineArgument, context) }
|
||||||
|
|
||||||
return markerLocalVariables.firstOrNull {
|
return markerLocalVariables
|
||||||
lambdaOrdinalByLocalVariable(it.name()) == lambdaOrdinal && functionNameByLocalVariable(it.name()) == functionName
|
.map { it.name() }
|
||||||
} != null
|
.any { variableName ->
|
||||||
|
lambdaOrdinalByLocalVariable(variableName) == lambdaOrdinal && functionNameByLocalVariable(variableName) == functionName
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fun <T : Any> DebugProcessImpl.invokeInManagerThread(f: (DebuggerContextImpl) -> T?): T? {
|
fun <T : Any> DebugProcessImpl.invokeInManagerThread(f: (DebuggerContextImpl) -> T?): T? {
|
||||||
|
|||||||
Reference in New Issue
Block a user