1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-07-18 14:35:23 +02:00

Bug 411605: Fix for regression in resource lookup.

This commit is contained in:
Markus Schorn 2013-08-26 13:55:38 +02:00
parent b131e456e4
commit d7faff7538

View file

@ -115,22 +115,25 @@ public class ResourceLookup {
* reaching the next for-loop - that loop is expensive as it might cause the loading of unnecessary * reaching the next for-loop - that loop is expensive as it might cause the loading of unnecessary
* project-descriptions. * project-descriptions.
*/ */
if(preferredProject != null) { if (preferredProject != null) {
for (int i = 0; i < files.length; i++) { for (IFile file : files) {
IFile file = files[i]; if (file.getProject().equals(preferredProject) && file.isAccessible()) {
if (file.getProject().equals(preferredProject) && file.isAccessible() && if (best != null) {
(best == null || best.getFullPath().toString().compareTo(file.getFullPath().toString()) > 0)) { // At least two accessible files in preferred project.
best = null;
break;
}
best= file; best= file;
} }
} }
} }
// One accessible file in preferred project.
if(best != null) if(best != null)
return best; return best;
int bestRelevance= -1; int bestRelevance= -1;
for (int i = 0; i < files.length; i++) { for (IFile file : files) {
IFile file = files[i];
int relevance= FileRelevance.getRelevance(file, preferredProject); int relevance= FileRelevance.getRelevance(file, preferredProject);
if (best == null || relevance > bestRelevance || if (best == null || relevance > bestRelevance ||
(relevance == bestRelevance && (relevance == bestRelevance &&