diff --git a/compiler/cli/src/org/jetbrains/jet/cli/js/K2JSCompiler.java b/compiler/cli/src/org/jetbrains/jet/cli/js/K2JSCompiler.java index a8b71d9e984..0ac3d7d54c6 100644 --- a/compiler/cli/src/org/jetbrains/jet/cli/js/K2JSCompiler.java +++ b/compiler/cli/src/org/jetbrains/jet/cli/js/K2JSCompiler.java @@ -42,6 +42,7 @@ import org.jetbrains.k2js.facade.K2JSTranslator; import org.jetbrains.k2js.facade.MainCallParameters; import java.io.File; +import java.util.Arrays; import java.util.List; import static org.jetbrains.jet.cli.common.messages.CompilerMessageLocation.NO_LOCATION; @@ -151,6 +152,6 @@ public class K2JSCompiler extends CLICompiler args) { - Pair libLocationAndTarget = JsModuleDetector.getLibLocationAndTargetForProject(module); + Pair, String> libLocationAndTarget = JsModuleDetector.getLibLocationAndTargetForProject(module); StringBuilder sb = StringBuilderSpinAllocator.alloc(); AccessToken token = ReadAction.start(); diff --git a/idea/src/org/jetbrains/jet/plugin/project/JsModuleDetector.java b/idea/src/org/jetbrains/jet/plugin/project/JsModuleDetector.java index 526be3aa494..6952efe82e8 100644 --- a/idea/src/org/jetbrains/jet/plugin/project/JsModuleDetector.java +++ b/idea/src/org/jetbrains/jet/plugin/project/JsModuleDetector.java @@ -16,6 +16,7 @@ package org.jetbrains.jet.plugin.project; +import com.google.common.collect.Lists; import com.intellij.openapi.module.Module; import com.intellij.openapi.module.ModuleManager; import com.intellij.openapi.project.Project; @@ -27,6 +28,8 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.jetbrains.jet.lang.psi.JetFile; +import java.util.List; + /** * @author Pavel Talanov *

@@ -53,7 +56,7 @@ public final class JsModuleDetector { } @NotNull - public static Pair getLibLocationAndTargetForProject(@NotNull Project project) { + public static Pair, String> getLibLocationAndTargetForProject(@NotNull Project project) { Module module = getJSModule(project); if (module == null) { return Pair.empty(); @@ -64,11 +67,15 @@ public final class JsModuleDetector { } @NotNull - public static Pair getLibLocationAndTargetForProject(@NotNull Module module) { + public static Pair, String> getLibLocationAndTargetForProject(@NotNull Module module) { K2JSModuleComponent jsModuleComponent = K2JSModuleComponent.getInstance(module); String pathToJavaScriptLibrary = jsModuleComponent.getPathToJavaScriptLibrary(); String basePath = ModuleRootManager.getInstance(module).getContentRoots()[0].getPath(); - return Pair.create(new String[] {basePath + pathToJavaScriptLibrary}, jsModuleComponent.getEcmaVersion().toString()); + List pathsToJSLib = Lists.newArrayList(); + if (pathToJavaScriptLibrary != null) { + pathsToJSLib.add(basePath + pathToJavaScriptLibrary); + } + return Pair.create(pathsToJSLib, jsModuleComponent.getEcmaVersion().toString()); } @Nullable diff --git a/js/js.translator/src/org/jetbrains/k2js/config/LibrarySourcesConfig.java b/js/js.translator/src/org/jetbrains/k2js/config/LibrarySourcesConfig.java index bbf31d8dc8a..ab4af184a91 100644 --- a/js/js.translator/src/org/jetbrains/k2js/config/LibrarySourcesConfig.java +++ b/js/js.translator/src/org/jetbrains/k2js/config/LibrarySourcesConfig.java @@ -21,7 +21,6 @@ import com.intellij.openapi.project.Project; import com.intellij.openapi.util.Key; import com.intellij.openapi.util.io.FileUtil; import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; import org.jetbrains.jet.lang.psi.JetFile; import org.jetbrains.k2js.utils.JetFileUtils; @@ -42,12 +41,12 @@ public class LibrarySourcesConfig extends Config { public static final Key EXTERNAL_MODULE_NAME = new Key("externalModule"); public static final String UNKNOWN_EXTERNAL_MODULE_NAME = ""; - @Nullable - private final String[] files; + @NotNull + private final List files; public LibrarySourcesConfig(@NotNull Project project, @NotNull String moduleId, - @Nullable String[] files, + @NotNull List files, @NotNull EcmaVersion ecmaVersion) { super(project, moduleId, ecmaVersion); this.files = files; @@ -56,7 +55,7 @@ public class LibrarySourcesConfig extends Config { @NotNull @Override public List generateLibFiles() { - if (files == null) { + if (files.isEmpty()) { return Collections.emptyList(); }