From 178a2f7f3a2ea6cdf071c988e5c3fa75918f3acb Mon Sep 17 00:00:00 2001 From: Maksim Zuev Date: Thu, 17 Jul 2025 11:58:38 +0200 Subject: [PATCH] [rd debugger] Move ViewTextAction to the shared module GitOrigin-RevId: ff0e0ce6d0ab45bceb7c3604a9ef0099353594b0 --- .../intellij.java.debugger.impl.frontend.xml | 3 -- .../JavaDebuggerImplFrontendBundle.properties | 2 -- .../impl/resources/META-INF/java-debugger.xml | 4 +-- .../debugger/actions/ViewTextAction.java | 33 ------------------- .../intellij.java.debugger.impl.shared.xml | 6 ++++ .../debugger/actions/ViewTextAction.kt} | 19 +++-------- 6 files changed, 11 insertions(+), 56 deletions(-) delete mode 100644 java/debugger/impl/src/com/intellij/debugger/actions/ViewTextAction.java rename java/debugger/{frontend/src/com/intellij/java/debugger/impl/frontend/actions/FrontendViewTextAction.kt => shared/src/com/intellij/debugger/actions/ViewTextAction.kt} (67%) diff --git a/java/debugger/frontend/resources/intellij.java.debugger.impl.frontend.xml b/java/debugger/frontend/resources/intellij.java.debugger.impl.frontend.xml index 14b109703ae2..c5d67e65dd9b 100644 --- a/java/debugger/frontend/resources/intellij.java.debugger.impl.frontend.xml +++ b/java/debugger/frontend/resources/intellij.java.debugger.impl.frontend.xml @@ -4,8 +4,5 @@ - - - \ No newline at end of file diff --git a/java/debugger/frontend/resources/messages/JavaDebuggerImplFrontendBundle.properties b/java/debugger/frontend/resources/messages/JavaDebuggerImplFrontendBundle.properties index a100a15ff6c0..e69de29bb2d1 100644 --- a/java/debugger/frontend/resources/messages/JavaDebuggerImplFrontendBundle.properties +++ b/java/debugger/frontend/resources/messages/JavaDebuggerImplFrontendBundle.properties @@ -1,2 +0,0 @@ -action.Debugger.ViewText.Frontend.text=View Text -action.Debugger.ViewText.Frontend.description=View text value of selected node in a separate pane \ No newline at end of file diff --git a/java/debugger/impl/resources/META-INF/java-debugger.xml b/java/debugger/impl/resources/META-INF/java-debugger.xml index 58988640b725..bf1bbf27da49 100644 --- a/java/debugger/impl/resources/META-INF/java-debugger.xml +++ b/java/debugger/impl/resources/META-INF/java-debugger.xml @@ -244,9 +244,7 @@ - - - + diff --git a/java/debugger/impl/src/com/intellij/debugger/actions/ViewTextAction.java b/java/debugger/impl/src/com/intellij/debugger/actions/ViewTextAction.java deleted file mode 100644 index 5b21a826527d..000000000000 --- a/java/debugger/impl/src/com/intellij/debugger/actions/ViewTextAction.java +++ /dev/null @@ -1,33 +0,0 @@ -// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. -package com.intellij.debugger.actions; - -import com.intellij.debugger.engine.JavaValue; -import com.intellij.java.debugger.impl.shared.actions.ViewTextActionBase; -import com.intellij.openapi.actionSystem.AnActionEvent; -import com.intellij.xdebugger.frame.XValue; -import com.intellij.xdebugger.impl.ui.tree.actions.XDebuggerTreeActionBase; -import com.intellij.xdebugger.impl.ui.tree.nodes.XValueNodeImpl; -import org.jetbrains.annotations.ApiStatus; -import org.jetbrains.annotations.NotNull; - -import java.util.List; - -/* - * @author Jeka - * @see com.intellij.java.debugger.impl.frontend.actions.FrontendViewTextAction - */ -public class ViewTextAction extends ViewTextActionBase { - @ApiStatus.Internal - @Override - protected XValueNodeImpl getStringNode(@NotNull AnActionEvent e) { - List selectedNodes = XDebuggerTreeActionBase.getSelectedNodes(e.getDataContext()); - if (selectedNodes.size() == 1) { - XValueNodeImpl node = selectedNodes.get(0); - XValue container = node.getValueContainer(); - if (container instanceof JavaValue && container.getModifier() != null && ((JavaValue)container).getDescriptor().isString()) { - return node; - } - } - return null; - } -} diff --git a/java/debugger/shared/resources/intellij.java.debugger.impl.shared.xml b/java/debugger/shared/resources/intellij.java.debugger.impl.shared.xml index f1bcdcd68d84..21f06f2ac155 100644 --- a/java/debugger/shared/resources/intellij.java.debugger.impl.shared.xml +++ b/java/debugger/shared/resources/intellij.java.debugger.impl.shared.xml @@ -27,4 +27,10 @@ + + + + + + diff --git a/java/debugger/frontend/src/com/intellij/java/debugger/impl/frontend/actions/FrontendViewTextAction.kt b/java/debugger/shared/src/com/intellij/debugger/actions/ViewTextAction.kt similarity index 67% rename from java/debugger/frontend/src/com/intellij/java/debugger/impl/frontend/actions/FrontendViewTextAction.kt rename to java/debugger/shared/src/com/intellij/debugger/actions/ViewTextAction.kt index cbab70184ef8..d42ce670624c 100644 --- a/java/debugger/frontend/src/com/intellij/java/debugger/impl/frontend/actions/FrontendViewTextAction.kt +++ b/java/debugger/shared/src/com/intellij/debugger/actions/ViewTextAction.kt @@ -1,27 +1,16 @@ // Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. -package com.intellij.java.debugger.impl.frontend.actions +package com.intellij.debugger.actions import com.intellij.java.debugger.impl.shared.actions.ViewTextActionBase import com.intellij.java.debugger.impl.shared.engine.JavaValueDescriptor import com.intellij.openapi.actionSystem.AnActionEvent import com.intellij.openapi.actionSystem.remoting.ActionRemoteBehaviorSpecification -import com.intellij.xdebugger.impl.actions.areFrontendDebuggerActionsEnabled import com.intellij.xdebugger.impl.ui.tree.actions.XDebuggerTreeActionBase import com.intellij.xdebugger.impl.ui.tree.nodes.XValueNodeImpl +import org.jetbrains.annotations.ApiStatus -/** - * Frontend version of [ViewTextAction] - */ -private class FrontendViewTextAction : ViewTextActionBase(), ActionRemoteBehaviorSpecification.Frontend { - override fun update(e: AnActionEvent) { - if (!areFrontendDebuggerActionsEnabled()) { - e.presentation.isEnabledAndVisible = false - return - } - - super.update(e) - } - +class ViewTextAction : ViewTextActionBase(), ActionRemoteBehaviorSpecification.FrontendOtherwiseBackend { + @ApiStatus.Internal override fun getStringNode(e: AnActionEvent): XValueNodeImpl? { val node = XDebuggerTreeActionBase.getSelectedNodes(e.dataContext).singleOrNull() ?: return null val xValue = node.valueContainer