From 6d91b142e55850fd7204cc5f850d60b39d60c054 Mon Sep 17 00:00:00 2001 From: "Egor.Ushakov" Date: Mon, 24 Aug 2015 11:22:00 +0300 Subject: [PATCH] extension for node descriptor names - single place where we apply name adjuster --- .../debugger/ui/impl/watch/FieldDescriptorImpl.java | 9 +-------- .../ui/impl/watch/FieldOuterLocalNameAdjuster.java | 2 +- .../ui/impl/watch/LocalVariableDescriptorImpl.java | 8 +------- .../debugger/ui/impl/watch/ValueDescriptorImpl.java | 8 +++++++- .../debugger/ui/tree/NodeDescriptorNameAdjuster.java | 4 ++-- 5 files changed, 12 insertions(+), 19 deletions(-) diff --git a/java/debugger/impl/src/com/intellij/debugger/ui/impl/watch/FieldDescriptorImpl.java b/java/debugger/impl/src/com/intellij/debugger/ui/impl/watch/FieldDescriptorImpl.java index 9c9c07f09d38..a6dfe5f45301 100644 --- a/java/debugger/impl/src/com/intellij/debugger/ui/impl/watch/FieldDescriptorImpl.java +++ b/java/debugger/impl/src/com/intellij/debugger/ui/impl/watch/FieldDescriptorImpl.java @@ -23,10 +23,8 @@ import com.intellij.debugger.engine.evaluation.EvaluateException; import com.intellij.debugger.engine.evaluation.EvaluateExceptionUtil; import com.intellij.debugger.engine.evaluation.EvaluationContextImpl; import com.intellij.debugger.impl.PositionUtil; -import com.intellij.debugger.settings.NodeRendererSettings; import com.intellij.debugger.ui.tree.FieldDescriptor; import com.intellij.debugger.ui.tree.NodeDescriptor; -import com.intellij.debugger.ui.tree.NodeDescriptorNameAdjuster; import com.intellij.openapi.project.Project; import com.intellij.openapi.util.text.StringUtil; import com.intellij.psi.JavaPsiFacade; @@ -107,12 +105,7 @@ public class FieldDescriptorImpl extends ValueDescriptorImpl implements FieldDes @Override public String getName() { - final String fieldName = myField.name(); - NodeDescriptorNameAdjuster nameAdjuster = NodeDescriptorNameAdjuster.findFor(this); - if (nameAdjuster != null) { - return nameAdjuster.fixName(fieldName, this); - } - return fieldName; + return myField.name(); } public boolean isOuterLocalVariableValue() { diff --git a/java/debugger/impl/src/com/intellij/debugger/ui/impl/watch/FieldOuterLocalNameAdjuster.java b/java/debugger/impl/src/com/intellij/debugger/ui/impl/watch/FieldOuterLocalNameAdjuster.java index fa938bc7cc4e..c5e3861e50d4 100644 --- a/java/debugger/impl/src/com/intellij/debugger/ui/impl/watch/FieldOuterLocalNameAdjuster.java +++ b/java/debugger/impl/src/com/intellij/debugger/ui/impl/watch/FieldOuterLocalNameAdjuster.java @@ -27,7 +27,7 @@ import org.jetbrains.annotations.NotNull; public class FieldOuterLocalNameAdjuster extends NodeDescriptorNameAdjuster { @Override - public boolean shouldApply(@NotNull NodeDescriptor descriptor) { + public boolean isApplicable(@NotNull NodeDescriptor descriptor) { if (descriptor instanceof FieldDescriptorImpl && NodeRendererSettings.getInstance().getClassRenderer().SHOW_VAL_FIELDS_AS_LOCAL_VARIABLES) { return ((FieldDescriptorImpl)descriptor).isOuterLocalVariableValue(); } diff --git a/java/debugger/impl/src/com/intellij/debugger/ui/impl/watch/LocalVariableDescriptorImpl.java b/java/debugger/impl/src/com/intellij/debugger/ui/impl/watch/LocalVariableDescriptorImpl.java index dc2602ca6e4f..6e10830ea1ec 100644 --- a/java/debugger/impl/src/com/intellij/debugger/ui/impl/watch/LocalVariableDescriptorImpl.java +++ b/java/debugger/impl/src/com/intellij/debugger/ui/impl/watch/LocalVariableDescriptorImpl.java @@ -25,7 +25,6 @@ import com.intellij.debugger.jdi.LocalVariableProxyImpl; import com.intellij.debugger.jdi.StackFrameProxyImpl; import com.intellij.debugger.ui.tree.LocalVariableDescriptor; import com.intellij.debugger.ui.tree.NodeDescriptor; -import com.intellij.debugger.ui.tree.NodeDescriptorNameAdjuster; import com.intellij.openapi.project.Project; import com.intellij.psi.JavaPsiFacade; import com.intellij.psi.PsiElementFactory; @@ -93,12 +92,7 @@ public class LocalVariableDescriptorImpl extends ValueDescriptorImpl implements @Override public String getName() { - String varName = myLocalVariable.name(); - NodeDescriptorNameAdjuster nameAdjuster = NodeDescriptorNameAdjuster.findFor(this); - if (nameAdjuster != null) { - return nameAdjuster.fixName(varName, this); - } - return varName; + return myLocalVariable.name(); } @Nullable diff --git a/java/debugger/impl/src/com/intellij/debugger/ui/impl/watch/ValueDescriptorImpl.java b/java/debugger/impl/src/com/intellij/debugger/ui/impl/watch/ValueDescriptorImpl.java index 840e91e10630..eab401898590 100644 --- a/java/debugger/impl/src/com/intellij/debugger/ui/impl/watch/ValueDescriptorImpl.java +++ b/java/debugger/impl/src/com/intellij/debugger/ui/impl/watch/ValueDescriptorImpl.java @@ -27,6 +27,7 @@ import com.intellij.debugger.jdi.VirtualMachineProxyImpl; import com.intellij.debugger.settings.NodeRendererSettings; import com.intellij.debugger.ui.tree.DebuggerTreeNode; import com.intellij.debugger.ui.tree.NodeDescriptor; +import com.intellij.debugger.ui.tree.NodeDescriptorNameAdjuster; import com.intellij.debugger.ui.tree.ValueDescriptor; import com.intellij.debugger.ui.tree.render.*; import com.intellij.debugger.ui.tree.render.Renderer; @@ -378,7 +379,12 @@ public abstract class ValueDescriptorImpl extends NodeDescriptorImpl implements } public String calcValueName() { - return getName(); + String name = getName(); + NodeDescriptorNameAdjuster nameAdjuster = NodeDescriptorNameAdjuster.findFor(this); + if (nameAdjuster != null) { + return nameAdjuster.fixName(name, this); + } + return name; } @Nullable diff --git a/java/debugger/openapi/src/com/intellij/debugger/ui/tree/NodeDescriptorNameAdjuster.java b/java/debugger/openapi/src/com/intellij/debugger/ui/tree/NodeDescriptorNameAdjuster.java index 416f8aedaac9..712beb2480b8 100644 --- a/java/debugger/openapi/src/com/intellij/debugger/ui/tree/NodeDescriptorNameAdjuster.java +++ b/java/debugger/openapi/src/com/intellij/debugger/ui/tree/NodeDescriptorNameAdjuster.java @@ -24,13 +24,13 @@ import org.jetbrains.annotations.NotNull; public abstract class NodeDescriptorNameAdjuster { public static ExtensionPointName EP_NAME = ExtensionPointName.create("com.intellij.debugger.nodeNameAdjuster"); - public abstract boolean shouldApply(@NotNull NodeDescriptor descriptor); + public abstract boolean isApplicable(@NotNull NodeDescriptor descriptor); public abstract String fixName(String name, @NotNull NodeDescriptor descriptor); public static NodeDescriptorNameAdjuster findFor(@NotNull NodeDescriptor descriptor) { for (NodeDescriptorNameAdjuster adjuster:EP_NAME.getExtensions()) { - if (adjuster.shouldApply(descriptor)) return adjuster; + if (adjuster.isApplicable(descriptor)) return adjuster; } return null; }