JS: remove LibrarySourcesConfigWithCaching, introduce LibrarySourceConfig.Builder

This commit is contained in:
Michael Nedzelsky
2015-03-27 20:15:53 +03:00
parent 6d8fc1e035
commit 1c7e1ddf26
10 changed files with 111 additions and 124 deletions
@@ -33,18 +33,17 @@ import org.jetbrains.kotlin.cli.common.output.outputUtils.OutputUtilsPackage;
import org.jetbrains.kotlin.cli.jvm.compiler.EnvironmentConfigFiles;
import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment;
import org.jetbrains.kotlin.config.CompilerConfiguration;
import org.jetbrains.kotlin.idea.JetFileType;
import org.jetbrains.kotlin.js.JavaScript;
import org.jetbrains.kotlin.js.config.Config;
import org.jetbrains.kotlin.js.config.EcmaVersion;
import org.jetbrains.kotlin.js.config.LibrarySourcesConfig;
import org.jetbrains.kotlin.js.config.LibrarySourcesConfigWithCaching;
import org.jetbrains.kotlin.js.facade.K2JSTranslator;
import org.jetbrains.kotlin.js.facade.MainCallParameters;
import org.jetbrains.kotlin.js.facade.TranslationResult;
import org.jetbrains.kotlin.js.test.rhino.RhinoResultChecker;
import org.jetbrains.kotlin.js.test.utils.JsTestUtils;
import org.jetbrains.kotlin.js.translate.context.Namer;
import org.jetbrains.kotlin.idea.JetFileType;
import org.jetbrains.kotlin.psi.JetFile;
import org.jetbrains.kotlin.psi.JetPsiFactory;
import org.jetbrains.kotlin.resolve.lazy.KotlinTestWithEnvironment;
@@ -205,7 +204,7 @@ public abstract class BasicTest extends KotlinTestWithEnvironment {
}
@Nullable
protected String getMetaInfo(@NotNull String moduleId) {
protected String getMetaFileOutputPath(@NotNull String moduleId) {
return null;
}
@@ -283,19 +282,18 @@ public abstract class BasicTest extends KotlinTestWithEnvironment {
@NotNull
private Config createConfig(@NotNull Project project, @NotNull String moduleId, @NotNull EcmaVersion ecmaVersion, @Nullable List<String> libraries) {
if (libraries == null) {
return new LibrarySourcesConfigWithCaching(project, moduleId, ecmaVersion, shouldGenerateSourceMap(), IS_INLINE_ENABLED, shouldBeTranslateAsUnitTestClass(), getMetaInfo(moduleId));
List<String> librariesWithStdlib = new ArrayList<String>(LibrarySourcesConfig.JS_STDLIB);
if (libraries != null) {
librariesWithStdlib.addAll(libraries);
}
else {
return new LibrarySourcesConfig(project, moduleId, librariesWithJsStdlib(libraries), ecmaVersion, shouldGenerateSourceMap(), IS_INLINE_ENABLED, getMetaInfo(moduleId));
}
}
@NotNull
private static List<String> librariesWithJsStdlib(@NotNull List<String> libraries) {
List<String> result = new ArrayList<String>(libraries);
result.addAll(0, LibrarySourcesConfigWithCaching.JS_STDLIB);
return result;
return new LibrarySourcesConfig.Builder(project, moduleId, librariesWithStdlib)
.ecmaVersion(ecmaVersion)
.sourceMap(shouldGenerateSourceMap())
.inlineEnabled(IS_INLINE_ENABLED)
.isUnitTestConfig(shouldBeTranslateAsUnitTestClass())
.metaFileOutputPath(getMetaFileOutputPath(moduleId))
.build();
}
@NotNull
@@ -16,11 +16,11 @@
package org.jetbrains.kotlin.js.test
import org.jetbrains.kotlin.js.JavaScript
import org.jetbrains.kotlin.js.config.EcmaVersion
import org.jetbrains.kotlin.js.facade.MainCallParameters
import org.jetbrains.kotlin.js.test.rhino.RhinoFunctionResultChecker
import org.jetbrains.kotlin.js.test.utils.JsTestUtils.getAllFilesInDir
import org.jetbrains.kotlin.utils.KotlinJavascriptMetadataUtils
import java.io.File
import java.util.ArrayList
import java.util.LinkedHashMap
@@ -53,14 +53,13 @@ public abstract class MultipleModulesTranslationTest(main: String) : BasicTest(m
val fullFilePaths = getAllFilesInDir(pathToDir + File.separator + moduleName)
val libraries = ArrayList<String>()
for (dependencyName in dependencies) {
libraries.add(getMetaInfo(getModuleDirectoryName(dirName, dependencyName)))
libraries.add(getMetaFileOutputPath(getModuleDirectoryName(dirName, dependencyName)))
}
generateJavaScriptFiles(fullFilePaths, moduleDirectoryName, MainCallParameters.noCall(), BasicTest.DEFAULT_ECMA_VERSIONS, moduleName, libraries)
}
override fun getMetaInfo(moduleId: String): String? {
return getOutputPath() + moduleId + ".meta" + JavaScript.DOT_EXTENSION
}
override fun getMetaFileOutputPath(moduleId: String): String? =
getOutputPath() + moduleId + KotlinJavascriptMetadataUtils.META_JS_SUFFIX
override fun additionalJsFiles(ecmaVersion: EcmaVersion): List<String> {
val result = super.additionalJsFiles(ecmaVersion)