diff options
Diffstat (limited to 'core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/settings/model/CExternalSettinsDeltaCalculator.java')
-rw-r--r-- | core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/settings/model/CExternalSettinsDeltaCalculator.java | 15 |
1 files changed, 5 insertions, 10 deletions
diff --git a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/settings/model/CExternalSettinsDeltaCalculator.java b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/settings/model/CExternalSettinsDeltaCalculator.java index ef4681a7ec7..9f297793f45 100644 --- a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/settings/model/CExternalSettinsDeltaCalculator.java +++ b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/settings/model/CExternalSettinsDeltaCalculator.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007, 2011 Intel Corporation and others. + * Copyright (c) 2007, 2018 Intel Corporation and others. * * This program and the accompanying materials * are made available under the terms of the Eclipse Public License 2.0 @@ -19,7 +19,6 @@ import java.util.Arrays; import java.util.HashMap; import java.util.LinkedHashMap; import java.util.LinkedHashSet; -import java.util.LinkedList; import java.util.List; import java.util.Map; import java.util.Map.Entry; @@ -235,7 +234,7 @@ class CExternalSettinsDeltaCalculator { if (oldSettings == null || oldSettings.length == 0) return createDeltas(newSettings, true); - LinkedList<ExtSettingsDelta> deltaList = new LinkedList<>(); + List<ExtSettingsDelta> deltaList = new ArrayList<>(); Map<ExtSettingMapKey, ICExternalSetting> newMap = toSettingsKeyMap(newSettings); Map<ExtSettingMapKey, ICExternalSetting> oldMap = toSettingsKeyMap(oldSettings); @@ -243,20 +242,16 @@ class CExternalSettinsDeltaCalculator { CExternalSetting newSetting = (CExternalSetting) entry.getValue(); CExternalSetting oldSetting = (CExternalSetting) oldMap.remove(entry.getKey()); if (oldSetting == null) { - deltaList.addLast(new ExtSettingsDelta(newSetting, true)); + deltaList.add(new ExtSettingsDelta(newSetting, true)); } else { ExtSettingsDelta delta = createDelta(newSetting, oldSetting); if (delta != null) - deltaList.addLast(delta); + deltaList.add(delta); } } for (ICExternalSetting oldSettng : oldMap.values()) { - // removals must be prepended to the list so that they are applied before additions, - // otherwise a setting that was just added might be immediately removed again in - // CExternalSettingsDeltaProcessor.applyDelta(ICLanguageSetting, ExtSettingsDelta[], int) - // if the old and new setting only differ in their language sets and these overlap - deltaList.addFirst(new ExtSettingsDelta((CExternalSetting) oldSettng, false)); + deltaList.add(new ExtSettingsDelta((CExternalSetting) oldSettng, false)); } if (deltaList.size() == 0) |