From eec4bc7e04e86c25cd19e90558729928dbbf7dd7 Mon Sep 17 00:00:00 2001 From: Zalim Bashorov Date: Tue, 18 Mar 2014 23:31:45 +0400 Subject: [PATCH] Minor: fix compilation in IDEA --- .idea/artifacts/KotlinPlugin.xml | 1 + build.xml | 1 + .../k2js/config/LibrarySourcesConfig.java | 18 +++++++++++------- 3 files changed, 13 insertions(+), 7 deletions(-) diff --git a/.idea/artifacts/KotlinPlugin.xml b/.idea/artifacts/KotlinPlugin.xml index 16780fcda3b..125017f4562 100644 --- a/.idea/artifacts/KotlinPlugin.xml +++ b/.idea/artifacts/KotlinPlugin.xml @@ -31,6 +31,7 @@ + diff --git a/build.xml b/build.xml index a9fdbfc6a71..0970973ea1a 100644 --- a/build.xml +++ b/build.xml @@ -335,6 +335,7 @@ + diff --git a/js/js.frontend/src/org/jetbrains/k2js/config/LibrarySourcesConfig.java b/js/js.frontend/src/org/jetbrains/k2js/config/LibrarySourcesConfig.java index 872b21d78fb..b165f59d1dd 100644 --- a/js/js.frontend/src/org/jetbrains/k2js/config/LibrarySourcesConfig.java +++ b/js/js.frontend/src/org/jetbrains/k2js/config/LibrarySourcesConfig.java @@ -28,6 +28,7 @@ import com.intellij.psi.PsiManager; import org.jetbrains.annotations.NotNull; import org.jetbrains.jet.lang.psi.JetFile; +import java.io.File; import java.io.IOException; import java.io.InputStream; import java.util.ArrayList; @@ -38,6 +39,7 @@ import java.util.zip.ZipEntry; import java.util.zip.ZipFile; import static org.jetbrains.jet.lang.psi.PsiPackage.JetPsiFactory; +import static org.jetbrains.jet.utils.LibraryUtils.isJsRuntimeLibrary; public class LibrarySourcesConfig extends Config { @NotNull @@ -80,8 +82,10 @@ public class LibrarySourcesConfig extends Config { moduleName = path.substring(1); } else if (path.endsWith(".jar") || path.endsWith(".zip")) { + String actualModuleName = isJsRuntimeLibrary(new File(path)) ? "kotlin_lib_compiled" : moduleName; + try { - jetFiles.addAll(readZip(path)); + jetFiles.addAll(readZip(path, actualModuleName)); } catch (IOException e) { LOG.error(e); @@ -105,10 +109,10 @@ public class LibrarySourcesConfig extends Config { return jetFiles; } - private List readZip(String file) throws IOException { + private List readZip(String file, String moduleName) throws IOException { ZipFile zipFile = new ZipFile(file); try { - return traverseArchive(zipFile); + return traverseArchive(zipFile, moduleName); } finally { zipFile.close(); @@ -116,16 +120,16 @@ public class LibrarySourcesConfig extends Config { } @NotNull - private List traverseArchive(@NotNull ZipFile file) throws IOException { + private List traverseArchive(@NotNull ZipFile zipFile, String moduleName) throws IOException { List result = Lists.newArrayList(); - Enumeration zipEntries = file.entries(); + Enumeration zipEntries = zipFile.entries(); while (zipEntries.hasMoreElements()) { ZipEntry entry = zipEntries.nextElement(); if (!entry.isDirectory() && entry.getName().endsWith(".kt")) { - InputStream stream = file.getInputStream(entry); + InputStream stream = zipFile.getInputStream(entry); String text = StringUtil.convertLineSeparators(FileUtil.loadTextAndClose(stream)); JetFile jetFile = JetPsiFactory(getProject()).createFile(entry.getName(), text); - jetFile.putUserData(EXTERNAL_MODULE_NAME, UNKNOWN_EXTERNAL_MODULE_NAME); + jetFile.putUserData(EXTERNAL_MODULE_NAME, moduleName); result.add(jetFile); } }