1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-29 19:45:01 +02:00

Enhanced loops.

This commit is contained in:
Sergey Prigogin 2010-01-19 05:06:56 +00:00
parent 245f1c6da6
commit 0f1b5d2f72

View file

@ -11,9 +11,7 @@
package org.eclipse.cdt.internal.core.pdom; package org.eclipse.cdt.internal.core.pdom;
import java.util.HashMap; import java.util.HashMap;
import java.util.Iterator;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map; import java.util.Map;
import org.eclipse.cdt.core.CCorePlugin; import org.eclipse.cdt.core.CCorePlugin;
@ -38,7 +36,7 @@ public class CModelListener implements IElementChangedListener, IResourceChangeL
private static final int UPDATE_LR_CHANGED_FILES_COUNT = 5; private static final int UPDATE_LR_CHANGED_FILES_COUNT = 5;
private PDOMManager fManager; private PDOMManager fManager;
private LinkedHashMap<ITranslationUnit, ITranslationUnit> fLRUs= new LinkedHashMap<ITranslationUnit,ITranslationUnit>(UPDATE_LR_CHANGED_FILES_COUNT, 0.75f, true) { private LinkedHashMap<ITranslationUnit, ITranslationUnit> fLRUs= new LinkedHashMap<ITranslationUnit, ITranslationUnit>(UPDATE_LR_CHANGED_FILES_COUNT, 0.75f, true) {
@Override @Override
protected boolean removeEldestEntry(Map.Entry<ITranslationUnit, ITranslationUnit> eldest) { protected boolean removeEldestEntry(Map.Entry<ITranslationUnit, ITranslationUnit> eldest) {
return size() > UPDATE_LR_CHANGED_FILES_COUNT; return size() > UPDATE_LR_CHANGED_FILES_COUNT;
@ -61,10 +59,9 @@ public class CModelListener implements IElementChangedListener, IResourceChangeL
// bug 171834 update last recently changed sources // bug 171834 update last recently changed sources
addLastRecentlyUsed(changeMap); addLastRecentlyUsed(changeMap);
for (Iterator<?> it = changeMap.entrySet().iterator(); it.hasNext();) { for (Map.Entry<ICProject, DeltaAnalyzer> entry : changeMap.entrySet()) {
Map.Entry<?, ?> entry = (Map.Entry<?, ?>) it.next(); ICProject cproject = entry.getKey();
ICProject cproject = (ICProject) entry.getKey(); DeltaAnalyzer analyzer= entry.getValue();
DeltaAnalyzer analyzer= (DeltaAnalyzer) entry.getValue();
fManager.changeProject(cproject, analyzer.getForcedTUs(), analyzer.getChangedTUs(), analyzer.getRemovedTUs()); fManager.changeProject(cproject, analyzer.getForcedTUs(), analyzer.getChangedTUs(), analyzer.getRemovedTUs());
} }
} }
@ -118,11 +115,8 @@ public class CModelListener implements IElementChangedListener, IResourceChangeL
int count= 0; int count= 0;
ITranslationUnit[] newLRUs= new ITranslationUnit[UPDATE_LR_CHANGED_FILES_COUNT]; ITranslationUnit[] newLRUs= new ITranslationUnit[UPDATE_LR_CHANGED_FILES_COUNT];
for (Iterator<DeltaAnalyzer> iterator = changeMap.values().iterator(); iterator.hasNext();) { for (DeltaAnalyzer analyzer : changeMap.values()) {
DeltaAnalyzer analyzer = iterator.next(); for (ITranslationUnit tu : analyzer.getChangedList()) {
List<?> l= analyzer.getChangedList();
for (Iterator<?> it = l.iterator(); it.hasNext();) {
ITranslationUnit tu= (ITranslationUnit) it.next();
newLRUs[count++ % UPDATE_LR_CHANGED_FILES_COUNT]= tu; newLRUs[count++ % UPDATE_LR_CHANGED_FILES_COUNT]= tu;
if (!addLRUs && tu.isHeaderUnit()) { if (!addLRUs && tu.isHeaderUnit()) {
addLRUs= true; addLRUs= true;
@ -132,8 +126,7 @@ public class CModelListener implements IElementChangedListener, IResourceChangeL
if (count > 0) { if (count > 0) {
if (addLRUs) { if (addLRUs) {
for (Iterator<ITranslationUnit> it = fLRUs.keySet().iterator(); it.hasNext();) { for (final ITranslationUnit tu : fLRUs.keySet()) {
final ITranslationUnit tu = it.next();
if (tu.getResource().exists()) { if (tu.getResource().exists()) {
final ICProject cproject= tu.getCProject(); final ICProject cproject= tu.getCProject();
DeltaAnalyzer analyzer= changeMap.get(cproject); DeltaAnalyzer analyzer= changeMap.get(cproject);