From 88056359149e9fc2387caeb2d193a67f83947006 Mon Sep 17 00:00:00 2001 From: Marc Khouzam Date: Thu, 18 Sep 2008 18:21:02 +0000 Subject: [PATCH] [245749] More efficient removal by using iterator.remove() --- .../MIRunControlEventProcessor_7_0.java | 23 +++++-------------- 1 file changed, 6 insertions(+), 17 deletions(-) diff --git a/plugins/org.eclipse.dd.mi/src/org/eclipse/dd/mi/service/command/MIRunControlEventProcessor_7_0.java b/plugins/org.eclipse.dd.mi/src/org/eclipse/dd/mi/service/command/MIRunControlEventProcessor_7_0.java index ced9b555652..0f409a45fbb 100644 --- a/plugins/org.eclipse.dd.mi/src/org/eclipse/dd/mi/service/command/MIRunControlEventProcessor_7_0.java +++ b/plugins/org.eclipse.dd.mi/src/org/eclipse/dd/mi/service/command/MIRunControlEventProcessor_7_0.java @@ -12,12 +12,10 @@ package org.eclipse.dd.mi.service.command; import java.util.HashMap; -import java.util.HashSet; import java.util.Iterator; import java.util.LinkedList; import java.util.List; import java.util.Map; -import java.util.Set; import org.eclipse.dd.dsf.debug.service.IProcesses.IProcessDMContext; import org.eclipse.dd.dsf.debug.service.IProcesses.IThreadDMContext; @@ -245,21 +243,12 @@ public class MIRunControlEventProcessor_7_0 // When detaching from a group, we won't have received any thread-exited event // but we don't want to keep those entries. if (fThreadToGroupMap.containsValue(groupId)) { - Set setToRemove = new HashSet(); - - Iterator> iterator1 = fThreadToGroupMap.entrySet().iterator(); - while (iterator1.hasNext()){ - Map.Entry pairs = iterator1.next(); - if (pairs.getValue().equals(groupId)) { - setToRemove.add(pairs.getKey()); + Iterator> iterator = fThreadToGroupMap.entrySet().iterator(); + while (iterator.hasNext()){ + if (iterator.next().getValue().equals(groupId)) { + iterator.remove(); } } - - Iterator iterator2 = setToRemove.iterator(); - while (iterator2.hasNext()){ - String key = iterator2.next(); - fThreadToGroupMap.remove(key); - } } } @@ -327,9 +316,9 @@ public class MIRunControlEventProcessor_7_0 } else if ("function-finished".equals(reason)) { //$NON-NLS-1$ event = MIFunctionFinishedEvent.parse(execDmc, exec.getToken(), exec.getMIResults()); } else if ("exited-normally".equals(reason) || "exited".equals(reason)) { //$NON-NLS-1$ //$NON-NLS-2$ - event = MIInferiorExitEvent.parse(fCommandControl.getControlDMContext(), exec.getToken(), exec.getMIResults()); + event = MIInferiorExitEvent.parse(fCommandControl.getContext(), exec.getToken(), exec.getMIResults()); } else if ("exited-signalled".equals(reason)) { //$NON-NLS-1$ - event = MIInferiorSignalExitEvent.parse(fCommandControl.getControlDMContext(), exec.getToken(), exec.getMIResults()); + event = MIInferiorSignalExitEvent.parse(fCommandControl.getContext(), exec.getToken(), exec.getMIResults()); } else if (STOPPED_REASON.equals(reason)) { event = MIStoppedEvent.parse(execDmc, exec.getToken(), exec.getMIResults()); } else if (RUNNING_REASON.equals(reason)) {