From 5721c4f0e1289a0331bb092aaa21c50d5e6a03dd Mon Sep 17 00:00:00 2001 From: "Egor.Ushakov" Date: Mon, 3 Oct 2016 19:14:30 +0300 Subject: [PATCH] cleanup --- .../debugger/engine/PositionManagerImpl.java | 2 +- .../debugger/engine/SuspendContextImpl.java | 2 +- .../intellij/debugger/impl/DebuggerUtilsEx.java | 2 +- .../com/intellij/debugger/impl/HotSwapManager.java | 7 +------ .../com/intellij/debugger/ui/HotSwapUIImpl.java | 8 +------- .../com/intellij/debugger/ui/RunHotswapDialog.java | 2 +- .../debugger/ui/impl/ThreadsDebuggerTree.java | 2 +- .../debugger/ui/impl/watch/DebuggerTree.java | 4 ++-- .../debugger/ui/tree/render/ClassRenderer.java | 3 +-- .../xdebugger/impl/XDebuggerHistoryManager.java | 6 +----- .../impl/actions/AttachToLocalProcessAction.java | 9 +++------ .../impl/breakpoints/XBreakpointManagerImpl.java | 14 ++------------ .../impl/breakpoints/ui/BreakpointsDialog.java | 2 +- .../impl/evaluate/XDebuggerEditorLinePainter.java | 6 +----- .../intellij/xdebugger/impl/frame/XFramesView.java | 8 +------- .../xdebugger/impl/frame/XVariablesView.java | 7 +------ .../intellij/xdebugger/XBreakpointsTestCase.java | 4 ++-- 17 files changed, 22 insertions(+), 66 deletions(-) diff --git a/java/debugger/impl/src/com/intellij/debugger/engine/PositionManagerImpl.java b/java/debugger/impl/src/com/intellij/debugger/engine/PositionManagerImpl.java index fc09b147c279..50336f6bb012 100644 --- a/java/debugger/impl/src/com/intellij/debugger/engine/PositionManagerImpl.java +++ b/java/debugger/impl/src/com/intellij/debugger/engine/PositionManagerImpl.java @@ -203,7 +203,7 @@ public class PositionManagerImpl implements PositionManager, MultiRequestPositio }); if (lambdas.size() > 1) { ArrayList lambdasList = new ArrayList<>(lambdas); - Collections.sort(lambdasList, DebuggerUtilsEx.LAMBDA_ORDINAL_COMPARATOR); + lambdasList.sort(DebuggerUtilsEx.LAMBDA_ORDINAL_COMPARATOR); lambdaOrdinal = lambdasList.indexOf(method); } } diff --git a/java/debugger/impl/src/com/intellij/debugger/engine/SuspendContextImpl.java b/java/debugger/impl/src/com/intellij/debugger/engine/SuspendContextImpl.java index a9a5de7d2225..1461bf2ff7a6 100644 --- a/java/debugger/impl/src/com/intellij/debugger/engine/SuspendContextImpl.java +++ b/java/debugger/impl/src/com/intellij/debugger/engine/SuspendContextImpl.java @@ -257,7 +257,7 @@ public abstract class SuspendContextImpl extends XSuspendContext implements Susp currentStack = stack; } } - Collections.sort(res, THREADS_COMPARATOR); + res.sort(THREADS_COMPARATOR); if (currentStack != null) { res.add(0, currentStack); } diff --git a/java/debugger/impl/src/com/intellij/debugger/impl/DebuggerUtilsEx.java b/java/debugger/impl/src/com/intellij/debugger/impl/DebuggerUtilsEx.java index 2e8f075d584d..bd47b8918fd9 100644 --- a/java/debugger/impl/src/com/intellij/debugger/impl/DebuggerUtilsEx.java +++ b/java/debugger/impl/src/com/intellij/debugger/impl/DebuggerUtilsEx.java @@ -949,7 +949,7 @@ public abstract class DebuggerUtilsEx extends DebuggerUtils { } public static final Comparator LAMBDA_ORDINAL_COMPARATOR = - (m1, m2) -> LambdaMethodFilter.getLambdaOrdinal(m1.name()) - LambdaMethodFilter.getLambdaOrdinal(m2.name()); + Comparator.comparingInt(m -> LambdaMethodFilter.getLambdaOrdinal(m.name())); public static void disableCollection(ObjectReference reference) { try { diff --git a/java/debugger/impl/src/com/intellij/debugger/impl/HotSwapManager.java b/java/debugger/impl/src/com/intellij/debugger/impl/HotSwapManager.java index f1a7e7e43e3e..6cf0bf522088 100644 --- a/java/debugger/impl/src/com/intellij/debugger/impl/HotSwapManager.java +++ b/java/debugger/impl/src/com/intellij/debugger/impl/HotSwapManager.java @@ -145,12 +145,7 @@ public class HotSwapManager extends AbstractProjectComponent { for (Pair pair : sessionWithStamps) { final DebuggerSession session = pair.first; if (fileStamp > pair.second) { - Map container = result.get(session); - if (container == null) { - container = new java.util.HashMap<>(); - result.put(session, container); - } - container.put(qualifiedName, hotswapFile); + result.computeIfAbsent(session, k -> new java.util.HashMap<>()).put(qualifiedName, hotswapFile); } } } diff --git a/java/debugger/impl/src/com/intellij/debugger/ui/HotSwapUIImpl.java b/java/debugger/impl/src/com/intellij/debugger/ui/HotSwapUIImpl.java index e5e1a0c2b6ee..fbb9a5459a8d 100644 --- a/java/debugger/impl/src/com/intellij/debugger/ui/HotSwapUIImpl.java +++ b/java/debugger/impl/src/com/intellij/debugger/ui/HotSwapUIImpl.java @@ -298,13 +298,7 @@ public class HotSwapUIImpl extends HotSwapUI implements ProjectComponent { public void fileGenerated(String outputRoot, String relativePath) { if (StringUtil.endsWith(relativePath, ".class") && JpsPathUtil.isUnder(myOutputRoots, new File(outputRoot))) { // collect only classes - final Map> map = myGeneratedPaths.get(); - List paths = map.get(outputRoot); - if (paths == null) { - paths = new ArrayList<>(); - map.put(outputRoot, paths); - } - paths.add(relativePath); + myGeneratedPaths.get().computeIfAbsent(outputRoot, k -> new ArrayList<>()).add(relativePath); } } diff --git a/java/debugger/impl/src/com/intellij/debugger/ui/RunHotswapDialog.java b/java/debugger/impl/src/com/intellij/debugger/ui/RunHotswapDialog.java index 29a362802a76..f05acd887a9d 100644 --- a/java/debugger/impl/src/com/intellij/debugger/ui/RunHotswapDialog.java +++ b/java/debugger/impl/src/com/intellij/debugger/ui/RunHotswapDialog.java @@ -53,7 +53,7 @@ public class RunHotswapDialog extends OptionsDialog { for (DebuggerSession session : sessions) { items.add(new SessionItem(session)); } - Collections.sort(items, (debuggerSession, debuggerSession1) -> debuggerSession.getSession().getSessionName().compareTo(debuggerSession1.getSession().getSessionName())); + items.sort(Comparator.comparing(debuggerSession -> debuggerSession.getSession().getSessionName())); myElementsChooser = new ElementsChooser<>(items, true); myPanel.setBorder(IdeBorderFactory.createEmptyBorder(10, 0, 5, 0)); //myElementsChooser.setBorder(IdeBorderFactory.createEmptyBorder(5, 0, 0, 0)); diff --git a/java/debugger/impl/src/com/intellij/debugger/ui/impl/ThreadsDebuggerTree.java b/java/debugger/impl/src/com/intellij/debugger/ui/impl/ThreadsDebuggerTree.java index 43d3941b1c10..6909776f517d 100644 --- a/java/debugger/impl/src/com/intellij/debugger/ui/impl/ThreadsDebuggerTree.java +++ b/java/debugger/impl/src/com/intellij/debugger/ui/impl/ThreadsDebuggerTree.java @@ -144,7 +144,7 @@ public class ThreadsDebuggerTree extends DebuggerTree { root.insert(nodeManager.createNode(nodeManager.getThreadDescriptor(null, currentThread), evaluationContext), 0); } List allThreads = new ArrayList<>(vm.allThreads()); - Collections.sort(allThreads, ThreadReferenceProxyImpl.ourComparator); + allThreads.sort(ThreadReferenceProxyImpl.ourComparator); for (ThreadReferenceProxyImpl threadProxy : allThreads) { if (threadProxy.equals(currentThread)) { diff --git a/java/debugger/impl/src/com/intellij/debugger/ui/impl/watch/DebuggerTree.java b/java/debugger/impl/src/com/intellij/debugger/ui/impl/watch/DebuggerTree.java index f73350ab0bb1..e006530b6145 100644 --- a/java/debugger/impl/src/com/intellij/debugger/ui/impl/watch/DebuggerTree.java +++ b/java/debugger/impl/src/com/intellij/debugger/ui/impl/watch/DebuggerTree.java @@ -491,7 +491,7 @@ public abstract class DebuggerTree extends DebuggerTreeBase implements DataProvi try { buildVariables(stackDescriptor, evaluationContext); if (XDebuggerSettingsManager.getInstance().getDataViewSettings().isSortValues()) { - Collections.sort(myChildren, NodeManagerImpl.getNodeComparator()); + myChildren.sort(NodeManagerImpl.getNodeComparator()); } } catch (EvaluateException e) { @@ -686,7 +686,7 @@ public abstract class DebuggerTree extends DebuggerTreeBase implements DataProvi ThreadGroupReferenceProxyImpl threadGroup = groupDescriptor.getThreadGroupReference(); List threads = new ArrayList<>(threadGroup.threads()); - Collections.sort(threads, ThreadReferenceProxyImpl.ourComparator); + threads.sort(ThreadReferenceProxyImpl.ourComparator); final DebuggerContextImpl debuggerContext = getDebuggerContext(); final SuspendContextImpl suspendContext = debuggerContext.getSuspendContext(); diff --git a/java/debugger/impl/src/com/intellij/debugger/ui/tree/render/ClassRenderer.java b/java/debugger/impl/src/com/intellij/debugger/ui/tree/render/ClassRenderer.java index f7e96758b2bf..3650a0f1f91f 100644 --- a/java/debugger/impl/src/com/intellij/debugger/ui/tree/render/ClassRenderer.java +++ b/java/debugger/impl/src/com/intellij/debugger/ui/tree/render/ClassRenderer.java @@ -48,7 +48,6 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import java.util.ArrayList; -import java.util.Collections; import java.util.List; import java.util.Set; @@ -178,7 +177,7 @@ public class ClassRenderer extends NodeRendererImpl{ children.add(nodeManager.createMessageNode(DebuggerBundle.message("message.node.class.no.fields.to.display"))); } else if (XDebuggerSettingsManager.getInstance().getDataViewSettings().isSortValues()) { - Collections.sort(children, NodeManagerImpl.getNodeComparator()); + children.sort(NodeManagerImpl.getNodeComparator()); } } else { diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/XDebuggerHistoryManager.java b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/XDebuggerHistoryManager.java index 4a179ffa020c..ea7b2a7b69a5 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/XDebuggerHistoryManager.java +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/XDebuggerHistoryManager.java @@ -45,11 +45,7 @@ public class XDebuggerHistoryManager { return false; } - LinkedList list = myRecentExpressions.get(id); - if (list == null) { - list = new LinkedList<>(); - myRecentExpressions.put(id, list); - } + LinkedList list = myRecentExpressions.computeIfAbsent(id, k -> new LinkedList<>()); if (list.size() == MAX_RECENT_EXPRESSIONS) { list.removeLast(); } diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/AttachToLocalProcessAction.java b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/AttachToLocalProcessAction.java index d7ebb49fb30d..592fc34028f6 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/AttachToLocalProcessAction.java +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/actions/AttachToLocalProcessAction.java @@ -54,10 +54,7 @@ import javax.swing.*; import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionListener; import java.awt.event.InputEvent; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Collections; -import java.util.List; +import java.util.*; public class AttachToLocalProcessAction extends AnAction { private static final Key> HISTORY_KEY = Key.create("AttachToLocalProcessAction.HISTORY_KEY"); @@ -149,13 +146,13 @@ public class AttachToLocalProcessAction extends AnAction { } ArrayList sortedGroups = new ArrayList<>(groupWithItems.keySet()); - Collections.sort(sortedGroups, (a, b) -> a.getOrder() - b.getOrder()); + sortedGroups.sort(Comparator.comparingInt(XLocalAttachGroup::getOrder)); List currentItems = new ArrayList<>(); for (final XLocalAttachGroup eachGroup : sortedGroups) { List>> sortedItems = new ArrayList<>(groupWithItems.get(eachGroup)); - Collections.sort(sortedItems, (a, b) -> eachGroup.compare(project, a.first, b.first, dataHolder)); + sortedItems.sort((a, b) -> eachGroup.compare(project, a.first, b.first, dataHolder)); boolean first = true; for (Pair> eachItem : sortedItems) { diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/breakpoints/XBreakpointManagerImpl.java b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/breakpoints/XBreakpointManagerImpl.java index f6038c693eb2..68019355cce5 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/breakpoints/XBreakpointManagerImpl.java +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/breakpoints/XBreakpointManagerImpl.java @@ -289,12 +289,7 @@ public class XBreakpointManagerImpl implements XBreakpointManager, PersistentSta } private EventDispatcher getOrCreateDispatcher(final XBreakpointType type) { - EventDispatcher dispatcher = myDispatchers.get(type); - if (dispatcher == null) { - dispatcher = EventDispatcher.create(XBreakpointListener.class); - myDispatchers.put(type, dispatcher); - } - return dispatcher; + return myDispatchers.computeIfAbsent(type, k -> EventDispatcher.create(XBreakpointListener.class)); } @Override @@ -496,12 +491,7 @@ public class XBreakpointManagerImpl implements XBreakpointManager, PersistentSta @NotNull public BreakpointState getBreakpointDefaults(@NotNull XBreakpointType type) { - BreakpointState defaultState = myBreakpointsDefaults.get(type); - if (defaultState == null) { - defaultState = createBreakpointDefaults(type); - myBreakpointsDefaults.put(type, defaultState); - } - return defaultState; + return myBreakpointsDefaults.computeIfAbsent(type, k -> createBreakpointDefaults(type)); } @NotNull diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/breakpoints/ui/BreakpointsDialog.java b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/breakpoints/ui/BreakpointsDialog.java index cfe1f3ee23cc..1f9b85359104 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/breakpoints/ui/BreakpointsDialog.java +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/breakpoints/ui/BreakpointsDialog.java @@ -390,7 +390,7 @@ public class BreakpointsDialog extends DialogWrapper { for (BreakpointPanelProvider provider : myBreakpointsPanelProviders) { provider.createBreakpointsGroupingRules(myRulesAvailable); } - Collections.sort(myRulesAvailable, XBreakpointGroupingRule.PRIORITY_COMPARATOR); + myRulesAvailable.sort(XBreakpointGroupingRule.PRIORITY_COMPARATOR); myRulesEnabled.clear(); XBreakpointsDialogState settings = (getBreakpointManager()).getBreakpointsDialogSettings(); diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/evaluate/XDebuggerEditorLinePainter.java b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/evaluate/XDebuggerEditorLinePainter.java index 837c79da1535..7886bff10e2e 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/evaluate/XDebuggerEditorLinePainter.java +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/evaluate/XDebuggerEditorLinePainter.java @@ -120,11 +120,7 @@ public class XDebuggerEditorLinePainter extends EditorLinePainter { res.add(new LineExtensionInfo(" " + name + ": ", attributes)); Variable var = new Variable(name, lineNumber); - VariableValue variableValue = oldValues.get(var); - if (variableValue == null) { - variableValue = new VariableValue(text.toString(), null, value.hashCode()); - oldValues.put(var, variableValue); - } + VariableValue variableValue = oldValues.computeIfAbsent(var, k -> new VariableValue(text.toString(), null, value.hashCode())); if (variableValue.valueNodeHashCode != value.hashCode()) { variableValue.old = variableValue.actual; variableValue.actual = text.toString(); diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/frame/XFramesView.java b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/frame/XFramesView.java index d23914c63de6..b3115674f58f 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/frame/XFramesView.java +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/frame/XFramesView.java @@ -35,7 +35,6 @@ import com.intellij.xdebugger.frame.XExecutionStack; import com.intellij.xdebugger.frame.XStackFrame; import com.intellij.xdebugger.frame.XSuspendContext; import com.intellij.xdebugger.impl.actions.XDebuggerActions; -import com.intellij.xdebugger.impl.ui.DebuggerUIUtil; import gnu.trove.TObjectIntHashMap; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -192,12 +191,7 @@ public class XFramesView extends XDebugView { } private StackFramesListBuilder getOrCreateBuilder(XExecutionStack executionStack, XDebugSession session) { - StackFramesListBuilder builder = myBuilders.get(executionStack); - if (builder == null) { - builder = new StackFramesListBuilder(executionStack, session); - myBuilders.put(executionStack, builder); - } - return builder; + return myBuilders.computeIfAbsent(executionStack, k -> new StackFramesListBuilder(executionStack, session)); } @Override diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/frame/XVariablesView.java b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/frame/XVariablesView.java index 5b833eb1d1fc..3700783f7742 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/frame/XVariablesView.java +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/frame/XVariablesView.java @@ -156,12 +156,7 @@ public class XVariablesView extends XVariablesViewBase implements DataProvider { public void put(@NotNull VirtualFile file, @NotNull XSourcePosition position, @NotNull XValueNodeImpl node) { synchronized (myData) { Pair key = Pair.create(file, position.getLine()); - Set entries = myData.get(key); - if (entries == null) { - entries = new TreeSet<>(); - myData.put(key, entries); - } - entries.add(new Entry(position.getOffset(), node)); + myData.computeIfAbsent(key, k -> new TreeSet<>()).add(new Entry(position.getOffset(), node)); } } diff --git a/platform/xdebugger-impl/testSrc/com/intellij/xdebugger/XBreakpointsTestCase.java b/platform/xdebugger-impl/testSrc/com/intellij/xdebugger/XBreakpointsTestCase.java index e2086d675eca..9bc3e13cf537 100644 --- a/platform/xdebugger-impl/testSrc/com/intellij/xdebugger/XBreakpointsTestCase.java +++ b/platform/xdebugger-impl/testSrc/com/intellij/xdebugger/XBreakpointsTestCase.java @@ -67,8 +67,8 @@ public abstract class XBreakpointsTestCase extends XDebuggerTestCase { result.add(breakpoint); } } - Collections.sort(result, (o1, o2) -> StringUtil.compare(((MyBreakpointProperties)o1.getProperties()).myOption, - ((MyBreakpointProperties)o2.getProperties()).myOption, true)); + result.sort((o1, o2) -> StringUtil.compare(((MyBreakpointProperties)o1.getProperties()).myOption, + ((MyBreakpointProperties)o2.getProperties()).myOption, true)); return result; } }