diff options
author | Markus Schorn | 2013-08-26 11:55:38 +0000 |
---|---|---|
committer | Markus Schorn | 2013-08-26 12:36:02 +0000 |
commit | d7faff7538a313c5d3090ad5b0a485869d4d5036 (patch) | |
tree | 8e65e6bdc880dc42547a4e4248eb0de08197835f /core | |
parent | b131e456e41123684514525489be906773d172d7 (diff) | |
download | org.eclipse.cdt-d7faff7538a313c5d3090ad5b0a485869d4d5036.tar.gz org.eclipse.cdt-d7faff7538a313c5d3090ad5b0a485869d4d5036.tar.xz org.eclipse.cdt-d7faff7538a313c5d3090ad5b0a485869d4d5036.zip |
Bug 411605: Fix for regression in resource lookup.
Diffstat (limited to 'core')
-rw-r--r-- | core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/resources/ResourceLookup.java | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/resources/ResourceLookup.java b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/resources/ResourceLookup.java index 3cea6a25454..6598ae9b5bf 100644 --- a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/resources/ResourceLookup.java +++ b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/resources/ResourceLookup.java @@ -115,22 +115,25 @@ public class ResourceLookup { * reaching the next for-loop - that loop is expensive as it might cause the loading of unnecessary * project-descriptions. */ - if(preferredProject != null) { - for (int i = 0; i < files.length; i++) { - IFile file = files[i]; - if (file.getProject().equals(preferredProject) && file.isAccessible() && - (best == null || best.getFullPath().toString().compareTo(file.getFullPath().toString()) > 0)) { + if (preferredProject != null) { + for (IFile file : files) { + if (file.getProject().equals(preferredProject) && file.isAccessible()) { + if (best != null) { + // At least two accessible files in preferred project. + best = null; + break; + } best= file; } } } + // One accessible file in preferred project. if(best != null) return best; int bestRelevance= -1; - for (int i = 0; i < files.length; i++) { - IFile file = files[i]; + for (IFile file : files) { int relevance= FileRelevance.getRelevance(file, preferredProject); if (best == null || relevance > bestRelevance || (relevance == bestRelevance && |