From b98aff9fdf61f68f94438f2388de3bcd3b3bcc5f Mon Sep 17 00:00:00 2001 From: UNV Date: Thu, 23 Apr 2026 15:24:49 +0300 Subject: [PATCH] Fixing compilation after changes in platform. Some refactoring. --- .../debugger/impl/actions/ArrayAction.java | 11 +- .../actions/JavaReferringObjectsValue.java | 10 +- .../debugger/impl/engine/JavaStaticGroup.java | 102 ++++++++--------- .../impl/memory/utils/ErrorsValueGroup.java | 93 +++++++-------- .../impl/ui/tree/render/ArrayRenderer.java | 106 +++++++++++++----- 5 files changed, 174 insertions(+), 148 deletions(-) diff --git a/java-debugger-impl/src/main/java/com/intellij/java/debugger/impl/actions/ArrayAction.java b/java-debugger-impl/src/main/java/com/intellij/java/debugger/impl/actions/ArrayAction.java index ad41c654f..bfcb3a07d 100644 --- a/java-debugger-impl/src/main/java/com/intellij/java/debugger/impl/actions/ArrayAction.java +++ b/java-debugger-impl/src/main/java/com/intellij/java/debugger/impl/actions/ArrayAction.java @@ -30,7 +30,6 @@ import consulo.execution.debug.frame.XValue; import consulo.execution.debug.frame.XValueNode; import consulo.execution.debug.ui.XValueTree; -import consulo.ide.setting.ShowSettingsUtil; import consulo.localize.LocalizeValue; import consulo.ui.annotation.RequiredUIAccess; import consulo.ui.ex.action.AnActionEvent; @@ -75,7 +74,7 @@ public void actionPerformed(AnActionEvent e) { //if (index > 0) { // title = title + " " + label.substring(index); //} - createNewRenderer(node, renderer, debuggerContext, LocalizeValue.ofNullable(node.getName())).doWhenDone(newRenderer -> setArrayRenderer( + createNewRenderer(node, renderer, debuggerContext, node.getName()).doWhenDone(newRenderer -> setArrayRenderer( newRenderer, node, debuggerContext @@ -89,8 +88,8 @@ protected abstract AsyncResult createNewRenderer( LocalizeValue title ); - @RequiredUIAccess @Override + @RequiredUIAccess public void update(AnActionEvent e) { boolean enable = false; List values = ViewAsGroup.getSelectedValues(e); @@ -128,7 +127,7 @@ public static void setArrayRenderer(ArrayRenderer newRenderer, XValueNode node, return; } - ValueDescriptorImpl descriptor = ((JavaValue)container).getDescriptor(); + ValueDescriptorImpl descriptor = ((JavaValue) container).getDescriptor(); DebugProcessImpl debugProcess = debuggerContext.getDebugProcess(); if (debugProcess != null) { @@ -137,13 +136,13 @@ public static void setArrayRenderer(ArrayRenderer newRenderer, XValueNode node, public void contextAction(SuspendContextImpl suspendContext) throws Exception { Renderer lastRenderer = descriptor.getLastRenderer(); if (lastRenderer instanceof ArrayRenderer) { - ((JavaValue)container).setRenderer(newRenderer, node); + ((JavaValue) container).setRenderer(newRenderer, node); Application.get().invokeLater(() -> node.getTree().expand(node)); } else if (lastRenderer instanceof CompoundNodeRenderer compoundRenderer) { if (compoundRenderer.getChildrenRenderer() instanceof ExpressionChildrenRenderer) { ExpressionChildrenRenderer.setPreferableChildrenRenderer(descriptor, newRenderer); - ((JavaValue)container).reBuild(node); + ((JavaValue) container).reBuild(node); } } } diff --git a/java-debugger-impl/src/main/java/com/intellij/java/debugger/impl/actions/JavaReferringObjectsValue.java b/java-debugger-impl/src/main/java/com/intellij/java/debugger/impl/actions/JavaReferringObjectsValue.java index cda40520f..4f3483420 100644 --- a/java-debugger-impl/src/main/java/com/intellij/java/debugger/impl/actions/JavaReferringObjectsValue.java +++ b/java-debugger-impl/src/main/java/com/intellij/java/debugger/impl/actions/JavaReferringObjectsValue.java @@ -34,6 +34,7 @@ import consulo.internal.com.sun.jdi.ObjectCollectedException; import consulo.internal.com.sun.jdi.ObjectReference; import consulo.internal.com.sun.jdi.Value; +import consulo.localize.LocalizeValue; import consulo.ui.image.Image; import org.jspecify.annotations.Nullable; @@ -80,10 +81,10 @@ public void contextAction(SuspendContextImpl suspendContext) throws Exception { List references; try { - references = ((ObjectReference)value).referringObjects(MAX_REFERRING); + references = ((ObjectReference) value).referringObjects(MAX_REFERRING); } catch (ObjectCollectedException e) { - node.setErrorMessage(JavaDebuggerLocalize.evaluationErrorObjectCollected().get()); + node.setErrorMessage(JavaDebuggerLocalize.evaluationErrorObjectCollected()); return; } @@ -169,10 +170,9 @@ public void renderValue(XValueTextRenderer renderer) { public void setFullValueEvaluator(XFullValueEvaluator fullValueEvaluator) { } - @Nullable @Override - public String getName() { - return null; + public LocalizeValue getName() { + return LocalizeValue.empty(); } @Nullable diff --git a/java-debugger-impl/src/main/java/com/intellij/java/debugger/impl/engine/JavaStaticGroup.java b/java-debugger-impl/src/main/java/com/intellij/java/debugger/impl/engine/JavaStaticGroup.java index b9015786f..3e85d8b91 100644 --- a/java-debugger-impl/src/main/java/com/intellij/java/debugger/impl/engine/JavaStaticGroup.java +++ b/java-debugger-impl/src/main/java/com/intellij/java/debugger/impl/engine/JavaStaticGroup.java @@ -25,77 +25,69 @@ import com.intellij.java.debugger.impl.ui.impl.watch.NodeDescriptorProvider; import com.intellij.java.debugger.impl.ui.impl.watch.NodeManagerImpl; import com.intellij.java.debugger.impl.ui.impl.watch.StaticDescriptorImpl; -import consulo.application.AllIcons; import consulo.execution.debug.frame.XCompositeNode; import consulo.execution.debug.frame.XValueChildrenList; import consulo.execution.debug.frame.XValueGroup; import consulo.internal.com.sun.jdi.Field; import consulo.internal.com.sun.jdi.ReferenceType; +import consulo.localize.LocalizeValue; +import consulo.platform.base.icon.PlatformIconGroup; import consulo.ui.image.Image; import org.jspecify.annotations.Nullable; /** * @author egor */ -public class JavaStaticGroup extends XValueGroup implements NodeDescriptorProvider -{ - private final StaticDescriptorImpl myStaticDescriptor; - private final EvaluationContextImpl myEvaluationContext; - private final NodeManagerImpl myNodeManager; +public class JavaStaticGroup extends XValueGroup implements NodeDescriptorProvider { + private final StaticDescriptorImpl myStaticDescriptor; + private final EvaluationContextImpl myEvaluationContext; + private final NodeManagerImpl myNodeManager; - public JavaStaticGroup( - StaticDescriptorImpl staticDescriptor, EvaluationContextImpl evaluationContext, NodeManagerImpl nodeManager) - { - super(staticDescriptor.getName()); - myStaticDescriptor = staticDescriptor; - myEvaluationContext = evaluationContext; - myNodeManager = nodeManager; - } + public JavaStaticGroup(StaticDescriptorImpl staticDescriptor, EvaluationContextImpl evaluationContext, NodeManagerImpl nodeManager) { + super(LocalizeValue.localizeTODO(staticDescriptor.getName())); + myStaticDescriptor = staticDescriptor; + myEvaluationContext = evaluationContext; + myNodeManager = nodeManager; + } - @Override - public String getSeparator() - { - return ""; - } + @Override + public String getSeparator() { + return ""; + } - @Nullable - @Override - public Image getIcon() - { - return AllIcons.Nodes.Static; - } + @Nullable + @Override + public Image getIcon() { + return PlatformIconGroup.nodesStatic(); + } - @Override - public NodeDescriptorImpl getDescriptor() - { - return myStaticDescriptor; - } + @Override + public NodeDescriptorImpl getDescriptor() { + return myStaticDescriptor; + } - @Override - public void computeChildren(final XCompositeNode node) - { - myEvaluationContext.getDebugProcess().getManagerThread().schedule(new SuspendContextCommandImpl(myEvaluationContext.getSuspendContext()) - { - @Override - public void contextAction() throws Exception - { - final XValueChildrenList children = new XValueChildrenList(); + @Override + public void computeChildren(final XCompositeNode node) { + myEvaluationContext.getDebugProcess() + .getManagerThread() + .schedule(new SuspendContextCommandImpl(myEvaluationContext.getSuspendContext()) { + @Override + public void contextAction() throws Exception { + XValueChildrenList children = new XValueChildrenList(); - final ReferenceType refType = myStaticDescriptor.getType(); - List fields = refType.allFields(); - for(Field field : fields) - { - if(field.isStatic()) - { - final FieldDescriptorImpl fieldDescriptor = myNodeManager.getFieldDescriptor(myStaticDescriptor, null, field); - children.add(JavaValue.create(fieldDescriptor, myEvaluationContext, myNodeManager)); - //final DebuggerTreeNodeImpl node = myNodeManager.createNode(fieldDescriptor, myEvaluationContext); - //myChildren.add(node); - } - } + ReferenceType refType = myStaticDescriptor.getType(); + List fields = refType.allFields(); + for (Field field : fields) { + if (field.isStatic()) { + FieldDescriptorImpl fieldDescriptor = myNodeManager.getFieldDescriptor(myStaticDescriptor, null, field); + children.add(JavaValue.create(fieldDescriptor, myEvaluationContext, myNodeManager)); + //final DebuggerTreeNodeImpl node = myNodeManager.createNode(fieldDescriptor, myEvaluationContext); + //myChildren.add(node); + } + } - node.addChildren(children, true); - } - }); - } + node.addChildren(children, true); + } + }); + } } diff --git a/java-debugger-impl/src/main/java/com/intellij/java/debugger/impl/memory/utils/ErrorsValueGroup.java b/java-debugger-impl/src/main/java/com/intellij/java/debugger/impl/memory/utils/ErrorsValueGroup.java index 5c2f90bad..9135f961b 100644 --- a/java-debugger-impl/src/main/java/com/intellij/java/debugger/impl/memory/utils/ErrorsValueGroup.java +++ b/java-debugger-impl/src/main/java/com/intellij/java/debugger/impl/memory/utils/ErrorsValueGroup.java @@ -15,75 +15,66 @@ */ package com.intellij.java.debugger.impl.memory.utils; -import consulo.application.AllIcons; import consulo.execution.debug.frame.XValueChildrenList; import consulo.execution.debug.frame.XValueGroup; import consulo.execution.debug.frame.XCompositeNode; import consulo.execution.debug.frame.XNamedValue; +import consulo.localize.LocalizeValue; +import consulo.platform.base.icon.PlatformIconGroup; import consulo.ui.image.Image; import org.jspecify.annotations.Nullable; + import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; -public class ErrorsValueGroup extends XValueGroup -{ - private final Map> myErrorMessage2ValueMap = new HashMap<>(); - - public ErrorsValueGroup() - { - super("Errors"); - } +public class ErrorsValueGroup extends XValueGroup { + private final Map> myErrorMessage2ValueMap = new HashMap<>(); - public void addErrorValue(String message, XNamedValue value) - { - List lst; - if(!myErrorMessage2ValueMap.containsKey(message)) - { - myErrorMessage2ValueMap.put(message, new ArrayList<>()); - } + public ErrorsValueGroup() { + super(LocalizeValue.localizeTODO("Errors")); + } - lst = myErrorMessage2ValueMap.get(message); - lst.add(value); - } + public void addErrorValue(LocalizeValue message, XNamedValue value) { + List lst; + if (!myErrorMessage2ValueMap.containsKey(message)) { + myErrorMessage2ValueMap.put(message, new ArrayList<>()); + } - public boolean isEmpty() - { - return myErrorMessage2ValueMap.isEmpty(); - } + lst = myErrorMessage2ValueMap.get(message); + lst.add(value); + } - @Nullable - @Override - public Image getIcon() - { - return AllIcons.General.Error; - } + public boolean isEmpty() { + return myErrorMessage2ValueMap.isEmpty(); + } - @Override - public void computeChildren(XCompositeNode node) - { - XValueChildrenList lst = new XValueChildrenList(); - myErrorMessage2ValueMap.keySet().forEach(s -> lst.addTopGroup(new MyErrorsValueGroup(s))); - node.addChildren(lst, true); - } + @Nullable + @Override + public Image getIcon() { + return PlatformIconGroup.generalError(); + } - private class MyErrorsValueGroup extends XValueGroup - { + @Override + public void computeChildren(XCompositeNode node) { + XValueChildrenList lst = new XValueChildrenList(); + myErrorMessage2ValueMap.keySet().forEach(s -> lst.addTopGroup(new MyErrorsValueGroup(s))); + node.addChildren(lst, true); + } - @Override - public void computeChildren(XCompositeNode node) - { - XValueChildrenList lst = new XValueChildrenList(); - String name = getName(); - myErrorMessage2ValueMap.get(name).forEach(lst::add); - node.addChildren(lst, true); - } + private class MyErrorsValueGroup extends XValueGroup { + @Override + public void computeChildren(XCompositeNode node) { + XValueChildrenList lst = new XValueChildrenList(); + LocalizeValue name = getName(); + myErrorMessage2ValueMap.get(name).forEach(lst::add); + node.addChildren(lst, true); + } - MyErrorsValueGroup(String name) - { - super(name); - } - } + MyErrorsValueGroup(LocalizeValue name) { + super(name); + } + } } diff --git a/java-debugger-impl/src/main/java/com/intellij/java/debugger/impl/ui/tree/render/ArrayRenderer.java b/java-debugger-impl/src/main/java/com/intellij/java/debugger/impl/ui/tree/render/ArrayRenderer.java index 1659d4532..0d17e6168 100644 --- a/java-debugger-impl/src/main/java/com/intellij/java/debugger/impl/ui/tree/render/ArrayRenderer.java +++ b/java-debugger-impl/src/main/java/com/intellij/java/debugger/impl/ui/tree/render/ArrayRenderer.java @@ -41,7 +41,6 @@ import com.intellij.java.language.psi.JavaPsiFacade; import com.intellij.java.language.psi.PsiElementFactory; import com.intellij.java.language.psi.PsiExpression; -import consulo.application.AllIcons; import consulo.dataContext.DataContext; import consulo.dataContext.DataManager; import consulo.execution.debug.breakpoint.XExpression; @@ -58,6 +57,7 @@ import consulo.language.util.IncorrectOperationException; import consulo.localize.LocalizeValue; import consulo.logging.Logger; +import consulo.platform.base.icon.PlatformIconGroup; import consulo.ui.ex.SimpleTextAttributes; import consulo.util.xml.serializer.DefaultJDOMExternalizer; import consulo.util.xml.serializer.InvalidDataException; @@ -103,7 +103,8 @@ public ArrayRenderer clone() { } @Override - public String calcLabel(ValueDescriptor descriptor, EvaluationContext evaluationContext, DescriptorLabelListener listener) throws EvaluateException { + public String calcLabel(ValueDescriptor descriptor, EvaluationContext evaluationContext, DescriptorLabelListener listener) + throws EvaluateException { return ClassRenderer.calcLabel(descriptor); } @@ -139,7 +140,10 @@ public void buildChildren(Value value, ChildrenBuilder builder, EvaluationContex continue; } - DebuggerTreeNode arrayItemNode = nodeManager.createNode(descriptorFactory.getArrayItemDescriptor(builder.getParentDescriptor(), array, idx), evaluationContext); + DebuggerTreeNode arrayItemNode = nodeManager.createNode( + descriptorFactory.getArrayItemDescriptor(builder.getParentDescriptor(), array, idx), + evaluationContext + ); builder.addChildren(Collections.singletonList(arrayItemNode), false); added++; @@ -153,15 +157,30 @@ public void buildChildren(Value value, ChildrenBuilder builder, EvaluationContex if (added == 0) { if (myStartIndex == 0 && arrayLength - 1 <= myEndIndex) { - builder.setMessage(JavaDebuggerLocalize.messageNodeAllElementsNull().get(), null, SimpleTextAttributes.REGULAR_ATTRIBUTES, null); + builder.setMessage( + JavaDebuggerLocalize.messageNodeAllElementsNull(), + null, + SimpleTextAttributes.REGULAR_ATTRIBUTES, + null + ); } else { - builder.setMessage(JavaDebuggerLocalize.messageNodeAllArrayElementsNull(myStartIndex, myEndIndex).get(), null, SimpleTextAttributes.REGULAR_ATTRIBUTES, null); + builder.setMessage( + JavaDebuggerLocalize.messageNodeAllArrayElementsNull(myStartIndex, myEndIndex), + null, + SimpleTextAttributes.REGULAR_ATTRIBUTES, + null + ); } } else { if (hiddenNulls) { - builder.setMessage(JavaDebuggerLocalize.messageNodeElementsNullHidden().get(), null, SimpleTextAttributes.REGULAR_ATTRIBUTES, null); + builder.setMessage( + JavaDebuggerLocalize.messageNodeElementsNullHidden(), + null, + SimpleTextAttributes.REGULAR_ATTRIBUTES, + null + ); } if (!myForced && idx < end) { builder.tooManyChildren(end - idx); @@ -198,7 +217,10 @@ public PsiExpression getChildValueExpression(DebuggerTreeNode node, DebuggerCont PsiElementFactory elementFactory = JavaPsiFacade.getInstance(node.getProject()).getElementFactory(); try { - return elementFactory.createExpressionFromText("this[" + descriptor.getIndex() + "]", elementFactory.getArrayClass(LanguageLevel.HIGHEST)); + return elementFactory.createExpressionFromText( + "this[" + descriptor.getIndex() + "]", + elementFactory.getArrayClass(LanguageLevel.HIGHEST) + ); } catch (IncorrectOperationException e) { LOG.error(e); @@ -233,8 +255,16 @@ public void buildChildren(Value value, ChildrenBuilder builder, EvaluationContex NodeManagerImpl nodeManager = (NodeManagerImpl) builder.getNodeManager(); NodeDescriptorFactory descriptorFactory = builder.getDescriptorManager(); - builder.setMessage(JavaDebuggerLocalize.messageNodeFiltered().get() + " " + myExpression.getExpression(), AllIcons.General.Filter, SimpleTextAttributes.REGULAR_ATTRIBUTES, - FILTER_HYPERLINK); + builder.setMessage( + LocalizeValue.join( + JavaDebuggerLocalize.messageNodeFiltered(), + LocalizeValue.space(), + LocalizeValue.of(myExpression.getExpression()) + ), + PlatformIconGroup.generalFilter(), + SimpleTextAttributes.REGULAR_ATTRIBUTES, + FILTER_HYPERLINK + ); if (myEntriesLimit <= 0) { myEntriesLimit = 1; @@ -263,15 +293,19 @@ protected PsiElement overrideContext(PsiElement context) { ErrorsValueGroup errorsGroup = null; for (int idx = myStartIndex; idx < arrayLength; idx++) { try { - if (DebuggerUtilsEx.evaluateBoolean(cachedEvaluator.getEvaluator(evaluationContext.getProject()), (EvaluationContextImpl) evaluationContext.createEvaluationContext(array - .getValue(idx)))) { - - DebuggerTreeNode arrayItemNode = nodeManager.createNode(descriptorFactory.getArrayItemDescriptor(builder.getParentDescriptor(), array, idx), evaluationContext); + if (DebuggerUtilsEx.evaluateBoolean( + cachedEvaluator.getEvaluator(evaluationContext.getProject()), + (EvaluationContextImpl) evaluationContext.createEvaluationContext(array.getValue(idx)) + )) { + DebuggerTreeNode arrayItemNode = nodeManager.createNode( + descriptorFactory.getArrayItemDescriptor(builder.getParentDescriptor(), array, idx), + evaluationContext + ); builder.addChildren(Collections.singletonList(arrayItemNode), false); added++; //if (added > ENTRIES_LIMIT) { - // break; + // break; //} } } @@ -280,9 +314,14 @@ protected PsiElement overrideContext(PsiElement context) { errorsGroup = new ErrorsValueGroup(); builder.addChildren(XValueChildrenList.bottomGroup(errorsGroup), false); } - JavaValue childValue = JavaValue.create(null, (ValueDescriptorImpl) descriptorFactory.getArrayItemDescriptor(builder.getParentDescriptor(), array, idx), ( - (EvaluationContextImpl) evaluationContext), nodeManager, false); - errorsGroup.addErrorValue(e.getMessage(), childValue); + JavaValue childValue = JavaValue.create( + null, + (ValueDescriptorImpl) descriptorFactory.getArrayItemDescriptor(builder.getParentDescriptor(), array, idx), + (EvaluationContextImpl) evaluationContext, + nodeManager, + false + ); + errorsGroup.addErrorValue(LocalizeValue.ofNullable(e.getMessage()), childValue); } } } @@ -290,25 +329,30 @@ protected PsiElement overrideContext(PsiElement context) { builder.addChildren(Collections.emptyList(), true); //if (added != 0 && END_INDEX < arrayLength - 1) { - // builder.setRemaining(arrayLength - 1 - END_INDEX); + // builder.setRemaining(arrayLength - 1 - END_INDEX); //} } } - public static final XDebuggerTreeNodeHyperlink FILTER_HYPERLINK = new XDebuggerTreeNodeHyperlink(LocalizeValue.localizeTODO(" clear")) { - @Override - public void onClick(MouseEvent e) { - DataContext context = DataManager.getInstance().getDataContext(e.getComponent()); - - XValueTree valueTree = context.getData(XValueTree.KEY); - if (valueTree != null) { - XValueNode node = valueTree.getSelectedNode(); - if (node != null) { - ArrayAction.setArrayRenderer(NodeRendererSettings.getInstance().getArrayRenderer(), node, DebuggerManagerEx.getInstanceEx(valueTree.getProject()).getContext()); + public static final XDebuggerTreeNodeHyperlink FILTER_HYPERLINK = + new XDebuggerTreeNodeHyperlink(LocalizeValue.localizeTODO(" clear")) { + @Override + public void onClick(MouseEvent e) { + DataContext context = DataManager.getInstance().getDataContext(e.getComponent()); + + XValueTree valueTree = context.getData(XValueTree.KEY); + if (valueTree != null) { + XValueNode node = valueTree.getSelectedNode(); + if (node != null) { + ArrayAction.setArrayRenderer( + NodeRendererSettings.getInstance().getArrayRenderer(), + node, + DebuggerManagerEx.getInstanceEx(valueTree.getProject()).getContext() + ); + } } + e.consume(); } - e.consume(); - } - }; + }; } }