Lines 7-17
Link Here
|
7 |
* |
7 |
* |
8 |
* Contributors: |
8 |
* Contributors: |
9 |
* IBM Corporation - initial API and implementation |
9 |
* IBM Corporation - initial API and implementation |
|
|
10 |
* Nikolay Botev - Bug 348507 |
10 |
*******************************************************************************/ |
11 |
*******************************************************************************/ |
11 |
package org.eclipse.jdt.internal.core.search; |
12 |
package org.eclipse.jdt.internal.core.search; |
12 |
|
13 |
|
13 |
import java.util.HashMap; |
14 |
import java.util.HashMap; |
14 |
import java.util.HashSet; |
15 |
import java.util.LinkedHashSet; |
15 |
import java.util.Set; |
16 |
import java.util.Set; |
16 |
|
17 |
|
17 |
import org.eclipse.core.resources.IFolder; |
18 |
import org.eclipse.core.resources.IFolder; |
Lines 72-84
Link Here
|
72 |
long start = BasicSearchEngine.VERBOSE ? System.currentTimeMillis() : -1; |
73 |
long start = BasicSearchEngine.VERBOSE ? System.currentTimeMillis() : -1; |
73 |
try { |
74 |
try { |
74 |
IJavaProject[] projects = JavaModelManager.getJavaModelManager().getJavaModel().getJavaProjects(); |
75 |
IJavaProject[] projects = JavaModelManager.getJavaModelManager().getJavaModel().getJavaProjects(); |
75 |
Set paths = new HashSet(projects.length * 2); |
76 |
// use a linked set to preserve the order during search: see bug 348507 |
|
|
77 |
Set paths = new LinkedHashSet(projects.length * 2); |
76 |
for (int i = 0, length = projects.length; i < length; i++) { |
78 |
for (int i = 0, length = projects.length; i < length; i++) { |
77 |
JavaProject javaProject = (JavaProject) projects[i]; |
79 |
JavaProject javaProject = (JavaProject) projects[i]; |
78 |
|
80 |
|
79 |
// Add project full path |
81 |
// Add project full path |
80 |
IPath projectPath = javaProject.getProject().getFullPath(); |
82 |
IPath projectPath = javaProject.getProject().getFullPath(); |
81 |
paths.add(projectPath); |
83 |
paths.add(projectPath); |
|
|
84 |
} |
85 |
|
86 |
// add the project source paths first in a separate loop above |
87 |
// to ensure source files always get higher precedence during search. |
88 |
// see bug 348507 |
89 |
|
90 |
for (int i = 0, length = projects.length; i < length; i++) { |
91 |
JavaProject javaProject = (JavaProject) projects[i]; |
82 |
|
92 |
|
83 |
// Add project libraries paths |
93 |
// Add project libraries paths |
84 |
IClasspathEntry[] entries = javaProject.getResolvedClasspath(); |
94 |
IClasspathEntry[] entries = javaProject.getResolvedClasspath(); |