Merge "Bug 483713 - Archive libraries are handled incorrectly"
diff --git a/core/plugins/org.eclipse.dltk.core.index.sql/src/org/eclipse/dltk/internal/core/index/sql/SqlSearchEngine.java b/core/plugins/org.eclipse.dltk.core.index.sql/src/org/eclipse/dltk/internal/core/index/sql/SqlSearchEngine.java
index dcdeda9..8d4e601 100644
--- a/core/plugins/org.eclipse.dltk.core.index.sql/src/org/eclipse/dltk/internal/core/index/sql/SqlSearchEngine.java
+++ b/core/plugins/org.eclipse.dltk.core.index.sql/src/org/eclipse/dltk/internal/core/index/sql/SqlSearchEngine.java
@@ -267,16 +267,17 @@
ISourceModule sourceModule = sourceModuleCache
.get(resourcePath);
if (sourceModule == null) {
- if (projectFragment.isExternal()) {
- IScriptFolder scriptFolder = new ExternalScriptFolder(
- (ProjectFragment) projectFragment, new Path(
- folderPath));
- sourceModule = scriptFolder.getSourceModule(fileName);
- } else if (projectFragment.isArchive()) {
+ if (projectFragment.isArchive()) {
IScriptFolder scriptFolder = new ArchiveFolder(
- (ProjectFragment) projectFragment, new Path(
- folderPath));
+ (ProjectFragment) projectFragment,
+ new Path(folderPath));
sourceModule = scriptFolder.getSourceModule(fileName);
+ } else if (projectFragment.isExternal()) {
+ IScriptFolder scriptFolder = new ExternalScriptFolder(
+ (ProjectFragment) projectFragment,
+ new Path(folderPath));
+ sourceModule = scriptFolder.getSourceModule(fileName);
+
} else if (projectFragment.isBuiltin()) {
IScriptFolder scriptFolder = new BuiltinScriptFolder(
(ProjectFragment) projectFragment, new Path(
diff --git a/core/plugins/org.eclipse.dltk.core/model/org/eclipse/dltk/internal/core/ScriptProject.java b/core/plugins/org.eclipse.dltk.core/model/org/eclipse/dltk/internal/core/ScriptProject.java
index a633e90..0162a35 100644
--- a/core/plugins/org.eclipse.dltk.core/model/org/eclipse/dltk/internal/core/ScriptProject.java
+++ b/core/plugins/org.eclipse.dltk.core/model/org/eclipse/dltk/internal/core/ScriptProject.java
@@ -189,7 +189,7 @@
}
public IProjectFragment getProjectFragment(String path) {
- return getProjectFragment(canonicalizedPath(new Path(path)));
+ return getProjectFragment(canonicalizedPath(Path.fromPortableString(path)));
}
/*