RIDER-124493 perform "smart step into" enter handler on frontend to avoid executing it on backend

(cherry picked from commit 7ded5cb2306edfd12f7cdb8478d6c4c23a8b3faf)

IJ-MR-159874

GitOrigin-RevId: 8af6ca0949e15fd56b578558abb2bb218d591ecc
This commit is contained in:
Ivan.Yarkov
2025-04-09 21:43:28 +00:00
committed by intellij-monorepo-bot
parent 3283f83eb9
commit 4ff346caa2
@@ -445,9 +445,8 @@ public class XDebuggerSmartStepIntoHandler extends XDebuggerSuspendedActionHandl
@Override
protected void doExecute(@NotNull Editor editor, @Nullable Caret caret, DataContext dataContext) {
SmartStepData stepData = editor.getUserData(SMART_STEP_INPLACE_DATA);
if (stepData != null) {
myPerform(editor, caret, dataContext, stepData);
if (hasSmartStepDebugData(editor)) {
myPerform(editor, caret, dataContext, editor.getUserData(SMART_STEP_INPLACE_DATA));
}
else {
myOriginalHandler.execute(editor, caret, dataContext);
@@ -456,7 +455,11 @@ public class XDebuggerSmartStepIntoHandler extends XDebuggerSuspendedActionHandl
@Override
protected boolean isEnabledForCaret(@NotNull Editor editor, @NotNull Caret caret, DataContext dataContext) {
return editor.getUserData(SMART_STEP_INPLACE_DATA) != null || myOriginalHandler.isEnabled(editor, caret, dataContext);
return hasSmartStepDebugData(editor) || myOriginalHandler.isEnabled(editor, caret, dataContext);
}
protected boolean hasSmartStepDebugData(@NotNull Editor editor) {
return editor.getUserData(SMART_STEP_INPLACE_DATA) != null;
}
protected abstract void myPerform(@NotNull Editor editor,
@@ -538,8 +541,9 @@ public class XDebuggerSmartStepIntoHandler extends XDebuggerSuspendedActionHandl
}
}
static final class EnterHandler extends SmartStepEditorActionHandler {
EnterHandler(EditorActionHandler original) {
@ApiStatus.Internal
public static class EnterHandler extends SmartStepEditorActionHandler {
public EnterHandler(EditorActionHandler original) {
super(original);
}