From 6d606e5291e5375507c250a4cee804d14d984e54 Mon Sep 17 00:00:00 2001 From: Yan Zhulanow Date: Thu, 21 Nov 2019 00:22:00 +0900 Subject: [PATCH] Debugger, minor: Move createStepOverCommandWithCustomFilter() to DebuggerSteppingFilter --- .../stepping/DebugProcessImplHelper.java | 46 ------------------- .../stepping/DebuggerSteppingHelper.java | 21 +++++++++ .../stepping/KotlinSteppingCommandProvider.kt | 2 +- 3 files changed, 22 insertions(+), 47 deletions(-) delete mode 100644 idea/jvm-debugger/jvm-debugger-core/src/org/jetbrains/kotlin/idea/debugger/stepping/DebugProcessImplHelper.java diff --git a/idea/jvm-debugger/jvm-debugger-core/src/org/jetbrains/kotlin/idea/debugger/stepping/DebugProcessImplHelper.java b/idea/jvm-debugger/jvm-debugger-core/src/org/jetbrains/kotlin/idea/debugger/stepping/DebugProcessImplHelper.java deleted file mode 100644 index f0ba961ce9c..00000000000 --- a/idea/jvm-debugger/jvm-debugger-core/src/org/jetbrains/kotlin/idea/debugger/stepping/DebugProcessImplHelper.java +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Copyright 2010-2017 JetBrains s.r.o. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.jetbrains.kotlin.idea.debugger.stepping; - -import com.intellij.debugger.engine.DebugProcessImpl; -import com.intellij.debugger.engine.RequestHint; -import com.intellij.debugger.engine.SuspendContextImpl; -import com.intellij.debugger.jdi.ThreadReferenceProxyImpl; -import com.sun.jdi.request.StepRequest; -import org.jetbrains.annotations.NotNull; - -public class DebugProcessImplHelper { - public static DebugProcessImpl.StepOverCommand createStepOverCommandWithCustomFilter( - SuspendContextImpl suspendContext, - boolean ignoreBreakpoints, - KotlinSuspendCallStepOverFilter methodFilter - ) { - DebugProcessImpl debugProcess = suspendContext.getDebugProcess(); - return debugProcess.new StepOverCommand(suspendContext, ignoreBreakpoints, StepRequest.STEP_LINE) { - @NotNull - @Override - protected RequestHint getHint(SuspendContextImpl suspendContext, ThreadReferenceProxyImpl stepThread) { - @SuppressWarnings("MagicConstant") - RequestHint hint = new RequestHintWithMethodFilter(stepThread, suspendContext, StepRequest.STEP_OVER, methodFilter); - hint.setRestoreBreakpoints(ignoreBreakpoints); - hint.setIgnoreFilters(ignoreBreakpoints || debugProcess.getSession().shouldIgnoreSteppingFilters()); - - return hint; - } - }; - } -} diff --git a/idea/jvm-debugger/jvm-debugger-core/src/org/jetbrains/kotlin/idea/debugger/stepping/DebuggerSteppingHelper.java b/idea/jvm-debugger/jvm-debugger-core/src/org/jetbrains/kotlin/idea/debugger/stepping/DebuggerSteppingHelper.java index e6f2f9a2b34..91469eb6e73 100644 --- a/idea/jvm-debugger/jvm-debugger-core/src/org/jetbrains/kotlin/idea/debugger/stepping/DebuggerSteppingHelper.java +++ b/idea/jvm-debugger/jvm-debugger-core/src/org/jetbrains/kotlin/idea/debugger/stepping/DebuggerSteppingHelper.java @@ -17,6 +17,7 @@ package org.jetbrains.kotlin.idea.debugger.stepping; import com.intellij.debugger.engine.DebugProcessImpl; +import com.intellij.debugger.engine.RequestHint; import com.intellij.debugger.engine.SuspendContextImpl; import com.intellij.debugger.engine.evaluation.EvaluateException; import com.intellij.debugger.impl.DebuggerUtilsEx; @@ -85,6 +86,26 @@ public class DebuggerSteppingHelper { }; } + public static DebugProcessImpl.StepOverCommand createStepOverCommandWithCustomFilter( + SuspendContextImpl suspendContext, + boolean ignoreBreakpoints, + KotlinSuspendCallStepOverFilter methodFilter + ) { + DebugProcessImpl debugProcess = suspendContext.getDebugProcess(); + return debugProcess.new StepOverCommand(suspendContext, ignoreBreakpoints, StepRequest.STEP_LINE) { + @NotNull + @Override + protected RequestHint getHint(SuspendContextImpl suspendContext, ThreadReferenceProxyImpl stepThread) { + @SuppressWarnings("MagicConstant") + RequestHint hint = new RequestHintWithMethodFilter(stepThread, suspendContext, StepRequest.STEP_OVER, methodFilter); + hint.setRestoreBreakpoints(ignoreBreakpoints); + hint.setIgnoreFilters(ignoreBreakpoints || debugProcess.getSession().shouldIgnoreSteppingFilters()); + + return hint; + } + }; + } + public static DebugProcessImpl.ResumeCommand createStepOutCommand( SuspendContextImpl suspendContext, boolean ignoreBreakpoints, diff --git a/idea/jvm-debugger/jvm-debugger-core/src/org/jetbrains/kotlin/idea/debugger/stepping/KotlinSteppingCommandProvider.kt b/idea/jvm-debugger/jvm-debugger-core/src/org/jetbrains/kotlin/idea/debugger/stepping/KotlinSteppingCommandProvider.kt index c693d27465a..daa4942aa71 100644 --- a/idea/jvm-debugger/jvm-debugger-core/src/org/jetbrains/kotlin/idea/debugger/stepping/KotlinSteppingCommandProvider.kt +++ b/idea/jvm-debugger/jvm-debugger-core/src/org/jetbrains/kotlin/idea/debugger/stepping/KotlinSteppingCommandProvider.kt @@ -87,7 +87,7 @@ class KotlinSteppingCommandProvider : JvmSteppingCommandProvider() { val file = sourcePosition.elementAt.containingFile val location = suspendContext.debugProcess.invokeInManagerThread { suspendContext.frameProxy?.safeLocation() } ?: return null if (isInSuspendMethod(location) && !isOnSuspendReturnOrReenter(location) && !isLastLineLocationInMethod(location)) { - return DebugProcessImplHelper.createStepOverCommandWithCustomFilter( + return DebuggerSteppingHelper.createStepOverCommandWithCustomFilter( suspendContext, ignoreBreakpoints, KotlinSuspendCallStepOverFilter(sourcePosition.line, file, ignoreBreakpoints) ) }