Rename Config -> JsConfig
This commit is contained in:
@@ -47,8 +47,8 @@ import org.jetbrains.kotlin.config.ContentRootsKt;
|
|||||||
import org.jetbrains.kotlin.config.Services;
|
import org.jetbrains.kotlin.config.Services;
|
||||||
import org.jetbrains.kotlin.js.analyze.TopDownAnalyzerFacadeForJS;
|
import org.jetbrains.kotlin.js.analyze.TopDownAnalyzerFacadeForJS;
|
||||||
import org.jetbrains.kotlin.js.analyzer.JsAnalysisResult;
|
import org.jetbrains.kotlin.js.analyzer.JsAnalysisResult;
|
||||||
import org.jetbrains.kotlin.js.config.Config;
|
|
||||||
import org.jetbrains.kotlin.js.config.EcmaVersion;
|
import org.jetbrains.kotlin.js.config.EcmaVersion;
|
||||||
|
import org.jetbrains.kotlin.js.config.JsConfig;
|
||||||
import org.jetbrains.kotlin.js.config.LibrarySourcesConfig;
|
import org.jetbrains.kotlin.js.config.LibrarySourcesConfig;
|
||||||
import org.jetbrains.kotlin.js.facade.K2JSTranslator;
|
import org.jetbrains.kotlin.js.facade.K2JSTranslator;
|
||||||
import org.jetbrains.kotlin.js.facade.MainCallParameters;
|
import org.jetbrains.kotlin.js.facade.MainCallParameters;
|
||||||
@@ -119,7 +119,7 @@ public class K2JSCompiler extends CLICompiler<K2JSCompilerArguments> {
|
|||||||
|
|
||||||
File outputFile = new File(arguments.outputFile);
|
File outputFile = new File(arguments.outputFile);
|
||||||
|
|
||||||
Config config = getConfig(arguments, project);
|
JsConfig config = getConfig(arguments, project);
|
||||||
if (config.checkLibFilesAndReportErrors(new Function1<String, Unit>() {
|
if (config.checkLibFilesAndReportErrors(new Function1<String, Unit>() {
|
||||||
@Override
|
@Override
|
||||||
public Unit invoke(String message) {
|
public Unit invoke(String message) {
|
||||||
@@ -219,8 +219,9 @@ public class K2JSCompiler extends CLICompiler<K2JSCompilerArguments> {
|
|||||||
CompilerMessageLocation.NO_LOCATION);
|
CompilerMessageLocation.NO_LOCATION);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static AnalyzerWithCompilerReport analyzeAndReportErrors(@NotNull MessageCollector messageCollector,
|
private static AnalyzerWithCompilerReport analyzeAndReportErrors(
|
||||||
@NotNull final List<KtFile> sources, @NotNull final Config config) {
|
@NotNull MessageCollector messageCollector, @NotNull final List<KtFile> sources, @NotNull final JsConfig config
|
||||||
|
) {
|
||||||
AnalyzerWithCompilerReport analyzerWithCompilerReport = new AnalyzerWithCompilerReport(messageCollector);
|
AnalyzerWithCompilerReport analyzerWithCompilerReport = new AnalyzerWithCompilerReport(messageCollector);
|
||||||
analyzerWithCompilerReport.analyzeAndReport(sources, new AnalyzerWithCompilerReport.Analyzer() {
|
analyzerWithCompilerReport.analyzeAndReport(sources, new AnalyzerWithCompilerReport.Analyzer() {
|
||||||
@NotNull
|
@NotNull
|
||||||
@@ -244,7 +245,7 @@ public class K2JSCompiler extends CLICompiler<K2JSCompilerArguments> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
private static Config getConfig(@NotNull K2JSCompilerArguments arguments, @NotNull Project project) {
|
private static JsConfig getConfig(@NotNull K2JSCompilerArguments arguments, @NotNull Project project) {
|
||||||
if (arguments.target != null) {
|
if (arguments.target != null) {
|
||||||
assert arguments.target == "v5" : "Unsupported ECMA version: " + arguments.target;
|
assert arguments.target == "v5" : "Unsupported ECMA version: " + arguments.target;
|
||||||
}
|
}
|
||||||
|
|||||||
+3
-3
@@ -21,7 +21,7 @@ import org.jetbrains.kotlin.cli.jvm.compiler.EnvironmentConfigFiles;
|
|||||||
import org.jetbrains.kotlin.context.ModuleContext;
|
import org.jetbrains.kotlin.context.ModuleContext;
|
||||||
import org.jetbrains.kotlin.descriptors.impl.ModuleDescriptorImpl;
|
import org.jetbrains.kotlin.descriptors.impl.ModuleDescriptorImpl;
|
||||||
import org.jetbrains.kotlin.js.analyze.TopDownAnalyzerFacadeForJS;
|
import org.jetbrains.kotlin.js.analyze.TopDownAnalyzerFacadeForJS;
|
||||||
import org.jetbrains.kotlin.js.config.Config;
|
import org.jetbrains.kotlin.js.config.JsConfig;
|
||||||
import org.jetbrains.kotlin.js.config.LibrarySourcesConfig;
|
import org.jetbrains.kotlin.js.config.LibrarySourcesConfig;
|
||||||
import org.jetbrains.kotlin.js.resolve.JsPlatform;
|
import org.jetbrains.kotlin.js.resolve.JsPlatform;
|
||||||
import org.jetbrains.kotlin.name.Name;
|
import org.jetbrains.kotlin.name.Name;
|
||||||
@@ -35,7 +35,7 @@ import java.util.List;
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
public abstract class AbstractDiagnosticsTestWithJsStdLib extends AbstractDiagnosticsTest {
|
public abstract class AbstractDiagnosticsTestWithJsStdLib extends AbstractDiagnosticsTest {
|
||||||
private Config config;
|
private JsConfig config;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void setUp() throws Exception {
|
protected void setUp() throws Exception {
|
||||||
@@ -94,7 +94,7 @@ public abstract class AbstractDiagnosticsTestWithJsStdLib extends AbstractDiagno
|
|||||||
return module;
|
return module;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected Config getConfig() {
|
protected JsConfig getConfig() {
|
||||||
return config;
|
return config;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-2
@@ -24,7 +24,7 @@ import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment;
|
|||||||
import org.jetbrains.kotlin.config.CompilerConfiguration;
|
import org.jetbrains.kotlin.config.CompilerConfiguration;
|
||||||
import org.jetbrains.kotlin.idea.test.PluginTestCaseBase;
|
import org.jetbrains.kotlin.idea.test.PluginTestCaseBase;
|
||||||
import org.jetbrains.kotlin.js.analyze.TopDownAnalyzerFacadeForJS;
|
import org.jetbrains.kotlin.js.analyze.TopDownAnalyzerFacadeForJS;
|
||||||
import org.jetbrains.kotlin.js.config.Config;
|
import org.jetbrains.kotlin.js.config.JsConfig;
|
||||||
import org.jetbrains.kotlin.js.config.LibrarySourcesConfig;
|
import org.jetbrains.kotlin.js.config.LibrarySourcesConfig;
|
||||||
import org.jetbrains.kotlin.js.resolve.diagnostics.ErrorsJs;
|
import org.jetbrains.kotlin.js.resolve.diagnostics.ErrorsJs;
|
||||||
import org.jetbrains.kotlin.psi.KtFile;
|
import org.jetbrains.kotlin.psi.KtFile;
|
||||||
@@ -59,7 +59,7 @@ public abstract class AbstractDiagnosticMessageJsTest extends AbstractDiagnostic
|
|||||||
}
|
}
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
private Config getConfig() {
|
private JsConfig getConfig() {
|
||||||
return new LibrarySourcesConfig.Builder(getProject(), "testModule", LibrarySourcesConfig.JS_STDLIB)
|
return new LibrarySourcesConfig.Builder(getProject(), "testModule", LibrarySourcesConfig.JS_STDLIB)
|
||||||
.inlineEnabled(false)
|
.inlineEnabled(false)
|
||||||
.isUnitTestConfig(true)
|
.isUnitTestConfig(true)
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ import org.jetbrains.kotlin.descriptors.PackageFragmentProvider;
|
|||||||
import org.jetbrains.kotlin.descriptors.impl.ModuleDescriptorImpl;
|
import org.jetbrains.kotlin.descriptors.impl.ModuleDescriptorImpl;
|
||||||
import org.jetbrains.kotlin.frontend.js.di.InjectionKt;
|
import org.jetbrains.kotlin.frontend.js.di.InjectionKt;
|
||||||
import org.jetbrains.kotlin.js.analyzer.JsAnalysisResult;
|
import org.jetbrains.kotlin.js.analyzer.JsAnalysisResult;
|
||||||
import org.jetbrains.kotlin.js.config.Config;
|
import org.jetbrains.kotlin.js.config.JsConfig;
|
||||||
import org.jetbrains.kotlin.js.resolve.JsPlatform;
|
import org.jetbrains.kotlin.js.resolve.JsPlatform;
|
||||||
import org.jetbrains.kotlin.name.Name;
|
import org.jetbrains.kotlin.name.Name;
|
||||||
import org.jetbrains.kotlin.psi.KtFile;
|
import org.jetbrains.kotlin.psi.KtFile;
|
||||||
@@ -41,10 +41,7 @@ public final class TopDownAnalyzerFacadeForJS {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
public static JsAnalysisResult analyzeFiles(
|
public static JsAnalysisResult analyzeFiles(@NotNull Collection<KtFile> files, @NotNull JsConfig config) {
|
||||||
@NotNull Collection<KtFile> files,
|
|
||||||
@NotNull Config config
|
|
||||||
) {
|
|
||||||
BindingTrace trace = new BindingTraceContext();
|
BindingTrace trace = new BindingTraceContext();
|
||||||
|
|
||||||
MutableModuleContext newModuleContext = ContextKt.ContextForNewModule(
|
MutableModuleContext newModuleContext = ContextKt.ContextForNewModule(
|
||||||
@@ -56,7 +53,7 @@ public final class TopDownAnalyzerFacadeForJS {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
private static List<ModuleDescriptorImpl> computeDependencies(ModuleDescriptorImpl module, @NotNull Config config) {
|
private static List<ModuleDescriptorImpl> computeDependencies(ModuleDescriptorImpl module, @NotNull JsConfig config) {
|
||||||
List<ModuleDescriptorImpl> allDependencies = new ArrayList<ModuleDescriptorImpl>();
|
List<ModuleDescriptorImpl> allDependencies = new ArrayList<ModuleDescriptorImpl>();
|
||||||
allDependencies.add(module);
|
allDependencies.add(module);
|
||||||
allDependencies.addAll(config.getModuleDescriptors());
|
allDependencies.addAll(config.getModuleDescriptors());
|
||||||
@@ -69,9 +66,9 @@ public final class TopDownAnalyzerFacadeForJS {
|
|||||||
@NotNull Collection<KtFile> files,
|
@NotNull Collection<KtFile> files,
|
||||||
@NotNull BindingTrace trace,
|
@NotNull BindingTrace trace,
|
||||||
@NotNull ModuleContext moduleContext,
|
@NotNull ModuleContext moduleContext,
|
||||||
@NotNull Config config
|
@NotNull JsConfig config
|
||||||
) {
|
) {
|
||||||
Collection<KtFile> allFiles = Config.withJsLibAdded(files, config);
|
Collection<KtFile> allFiles = JsConfig.withJsLibAdded(files, config);
|
||||||
|
|
||||||
LazyTopDownAnalyzerForTopLevel analyzerForJs = InjectionKt.createTopDownAnalyzerForJs(
|
LazyTopDownAnalyzerForTopLevel analyzerForJs = InjectionKt.createTopDownAnalyzerForJs(
|
||||||
moduleContext, trace,
|
moduleContext, trace,
|
||||||
|
|||||||
+3
-3
@@ -41,7 +41,7 @@ import java.util.List;
|
|||||||
/**
|
/**
|
||||||
* Base class representing a configuration of translator.
|
* Base class representing a configuration of translator.
|
||||||
*/
|
*/
|
||||||
public abstract class Config {
|
public abstract class JsConfig {
|
||||||
private final boolean inlineEnabled;
|
private final boolean inlineEnabled;
|
||||||
@NotNull
|
@NotNull
|
||||||
private final Project project;
|
private final Project project;
|
||||||
@@ -67,7 +67,7 @@ public abstract class Config {
|
|||||||
|
|
||||||
private boolean initialized = false;
|
private boolean initialized = false;
|
||||||
|
|
||||||
protected Config(
|
protected JsConfig(
|
||||||
@NotNull Project project,
|
@NotNull Project project,
|
||||||
@NotNull String moduleId,
|
@NotNull String moduleId,
|
||||||
@NotNull EcmaVersion ecmaVersion,
|
@NotNull EcmaVersion ecmaVersion,
|
||||||
@@ -176,7 +176,7 @@ public abstract class Config {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
public static Collection<KtFile> withJsLibAdded(@NotNull Collection<KtFile> files, @NotNull Config config) {
|
public static Collection<KtFile> withJsLibAdded(@NotNull Collection<KtFile> files, @NotNull JsConfig config) {
|
||||||
Collection<KtFile> allFiles = Lists.newArrayList();
|
Collection<KtFile> allFiles = Lists.newArrayList();
|
||||||
allFiles.addAll(files);
|
allFiles.addAll(files);
|
||||||
allFiles.addAll(config.getSourceFilesFromLibraries());
|
allFiles.addAll(config.getSourceFilesFromLibraries());
|
||||||
@@ -43,7 +43,7 @@ import java.util.List;
|
|||||||
import static org.jetbrains.kotlin.utils.LibraryUtils.isOldKotlinJavascriptLibrary;
|
import static org.jetbrains.kotlin.utils.LibraryUtils.isOldKotlinJavascriptLibrary;
|
||||||
import static org.jetbrains.kotlin.utils.PathUtil.getKotlinPathsForDistDirectory;
|
import static org.jetbrains.kotlin.utils.PathUtil.getKotlinPathsForDistDirectory;
|
||||||
|
|
||||||
public class LibrarySourcesConfig extends Config {
|
public class LibrarySourcesConfig extends JsConfig {
|
||||||
public static final List<String> JS_STDLIB =
|
public static final List<String> JS_STDLIB =
|
||||||
Collections.singletonList(getKotlinPathsForDistDirectory().getJsStdLibJarPath().getAbsolutePath());
|
Collections.singletonList(getKotlinPathsForDistDirectory().getJsStdLibJarPath().getAbsolutePath());
|
||||||
|
|
||||||
@@ -236,7 +236,7 @@ public class LibrarySourcesConfig extends Config {
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Config build() {
|
public JsConfig build() {
|
||||||
return new LibrarySourcesConfig(project, moduleId, files, ecmaVersion, sourceMap, inlineEnabled, isUnitTestConfig, metaInfo, kjsm);
|
return new LibrarySourcesConfig(project, moduleId, files, ecmaVersion, sourceMap, inlineEnabled, isUnitTestConfig, metaInfo, kjsm);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -38,8 +38,8 @@ import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment;
|
|||||||
import org.jetbrains.kotlin.config.CompilerConfiguration;
|
import org.jetbrains.kotlin.config.CompilerConfiguration;
|
||||||
import org.jetbrains.kotlin.idea.KotlinFileType;
|
import org.jetbrains.kotlin.idea.KotlinFileType;
|
||||||
import org.jetbrains.kotlin.js.JavaScript;
|
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.EcmaVersion;
|
||||||
|
import org.jetbrains.kotlin.js.config.JsConfig;
|
||||||
import org.jetbrains.kotlin.js.config.LibrarySourcesConfig;
|
import org.jetbrains.kotlin.js.config.LibrarySourcesConfig;
|
||||||
import org.jetbrains.kotlin.js.facade.K2JSTranslator;
|
import org.jetbrains.kotlin.js.facade.K2JSTranslator;
|
||||||
import org.jetbrains.kotlin.js.facade.MainCallParameters;
|
import org.jetbrains.kotlin.js.facade.MainCallParameters;
|
||||||
@@ -182,7 +182,7 @@ public abstract class BasicTest extends KotlinTestWithEnvironment {
|
|||||||
List<String> allFiles = withAdditionalKotlinFiles(files);
|
List<String> allFiles = withAdditionalKotlinFiles(files);
|
||||||
List<KtFile> jetFiles = createJetFileList(project, allFiles, null);
|
List<KtFile> jetFiles = createJetFileList(project, allFiles, null);
|
||||||
|
|
||||||
Config config = createConfig(getProject(), moduleName, version, libraries, jetFiles);
|
JsConfig config = createConfig(getProject(), moduleName, version, libraries, jetFiles);
|
||||||
File outputFile = new File(getOutputFilePath(testName, version));
|
File outputFile = new File(getOutputFilePath(testName, version));
|
||||||
|
|
||||||
translateFiles(jetFiles, outputFile, mainCallParameters, config);
|
translateFiles(jetFiles, outputFile, mainCallParameters, config);
|
||||||
@@ -196,7 +196,7 @@ public abstract class BasicTest extends KotlinTestWithEnvironment {
|
|||||||
@NotNull List<KtFile> jetFiles,
|
@NotNull List<KtFile> jetFiles,
|
||||||
@NotNull File outputFile,
|
@NotNull File outputFile,
|
||||||
@NotNull MainCallParameters mainCallParameters,
|
@NotNull MainCallParameters mainCallParameters,
|
||||||
@NotNull Config config
|
@NotNull JsConfig config
|
||||||
) throws Exception {
|
) throws Exception {
|
||||||
K2JSTranslator translator = new K2JSTranslator(config);
|
K2JSTranslator translator = new K2JSTranslator(config);
|
||||||
TranslationResult translationResult = translator.translate(jetFiles, mainCallParameters);
|
TranslationResult translationResult = translator.translate(jetFiles, mainCallParameters);
|
||||||
@@ -321,7 +321,7 @@ public abstract class BasicTest extends KotlinTestWithEnvironment {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
private Config createConfig(
|
private JsConfig createConfig(
|
||||||
@NotNull Project project,
|
@NotNull Project project,
|
||||||
@NotNull String moduleId,
|
@NotNull String moduleId,
|
||||||
@NotNull EcmaVersion ecmaVersion,
|
@NotNull EcmaVersion ecmaVersion,
|
||||||
|
|||||||
@@ -19,15 +19,15 @@ package org.jetbrains.kotlin.js.facade;
|
|||||||
import com.google.dart.compiler.backend.js.ast.JsProgram;
|
import com.google.dart.compiler.backend.js.ast.JsProgram;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
import org.jetbrains.kotlin.progress.ProgressIndicatorAndCompilationCanceledStatus;
|
|
||||||
import org.jetbrains.kotlin.descriptors.ModuleDescriptor;
|
import org.jetbrains.kotlin.descriptors.ModuleDescriptor;
|
||||||
import org.jetbrains.kotlin.js.analyze.TopDownAnalyzerFacadeForJS;
|
import org.jetbrains.kotlin.js.analyze.TopDownAnalyzerFacadeForJS;
|
||||||
import org.jetbrains.kotlin.js.analyzer.JsAnalysisResult;
|
import org.jetbrains.kotlin.js.analyzer.JsAnalysisResult;
|
||||||
import org.jetbrains.kotlin.js.config.Config;
|
import org.jetbrains.kotlin.js.config.JsConfig;
|
||||||
import org.jetbrains.kotlin.js.facade.exceptions.TranslationException;
|
import org.jetbrains.kotlin.js.facade.exceptions.TranslationException;
|
||||||
import org.jetbrains.kotlin.js.inline.JsInliner;
|
import org.jetbrains.kotlin.js.inline.JsInliner;
|
||||||
import org.jetbrains.kotlin.js.translate.context.TranslationContext;
|
import org.jetbrains.kotlin.js.translate.context.TranslationContext;
|
||||||
import org.jetbrains.kotlin.js.translate.general.Translation;
|
import org.jetbrains.kotlin.js.translate.general.Translation;
|
||||||
|
import org.jetbrains.kotlin.progress.ProgressIndicatorAndCompilationCanceledStatus;
|
||||||
import org.jetbrains.kotlin.psi.KtFile;
|
import org.jetbrains.kotlin.psi.KtFile;
|
||||||
import org.jetbrains.kotlin.resolve.BindingTrace;
|
import org.jetbrains.kotlin.resolve.BindingTrace;
|
||||||
import org.jetbrains.kotlin.resolve.diagnostics.Diagnostics;
|
import org.jetbrains.kotlin.resolve.diagnostics.Diagnostics;
|
||||||
@@ -46,9 +46,9 @@ public final class K2JSTranslator {
|
|||||||
public static final String GET_SYSTEM_OUT = "Kotlin.out.buffer;\n";
|
public static final String GET_SYSTEM_OUT = "Kotlin.out.buffer;\n";
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
private final Config config;
|
private final JsConfig config;
|
||||||
|
|
||||||
public K2JSTranslator(@NotNull Config config) {
|
public K2JSTranslator(@NotNull JsConfig config) {
|
||||||
this.config = config;
|
this.config = config;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -72,7 +72,7 @@ public final class K2JSTranslator {
|
|||||||
}
|
}
|
||||||
|
|
||||||
BindingTrace bindingTrace = analysisResult.getBindingTrace();
|
BindingTrace bindingTrace = analysisResult.getBindingTrace();
|
||||||
TopDownAnalyzerFacadeForJS.checkForErrors(Config.withJsLibAdded(files, config), bindingTrace.getBindingContext());
|
TopDownAnalyzerFacadeForJS.checkForErrors(JsConfig.withJsLibAdded(files, config), bindingTrace.getBindingContext());
|
||||||
ModuleDescriptor moduleDescriptor = analysisResult.getModuleDescriptor();
|
ModuleDescriptor moduleDescriptor = analysisResult.getModuleDescriptor();
|
||||||
Diagnostics diagnostics = bindingTrace.getBindingContext().getDiagnostics();
|
Diagnostics diagnostics = bindingTrace.getBindingContext().getDiagnostics();
|
||||||
|
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ import com.intellij.openapi.util.text.StringUtil
|
|||||||
import com.intellij.openapi.vfs.VfsUtilCore
|
import com.intellij.openapi.vfs.VfsUtilCore
|
||||||
import org.jetbrains.kotlin.backend.common.output.*
|
import org.jetbrains.kotlin.backend.common.output.*
|
||||||
import org.jetbrains.kotlin.descriptors.ModuleDescriptor
|
import org.jetbrains.kotlin.descriptors.ModuleDescriptor
|
||||||
import org.jetbrains.kotlin.js.config.Config
|
import org.jetbrains.kotlin.js.config.JsConfig
|
||||||
import org.jetbrains.kotlin.js.sourceMap.JsSourceGenerationVisitor
|
import org.jetbrains.kotlin.js.sourceMap.JsSourceGenerationVisitor
|
||||||
import org.jetbrains.kotlin.js.sourceMap.SourceMap3Builder
|
import org.jetbrains.kotlin.js.sourceMap.SourceMap3Builder
|
||||||
import org.jetbrains.kotlin.js.sourceMap.SourceMapBuilder
|
import org.jetbrains.kotlin.js.sourceMap.SourceMapBuilder
|
||||||
@@ -32,14 +32,14 @@ import org.jetbrains.kotlin.resolve.diagnostics.Diagnostics
|
|||||||
import org.jetbrains.kotlin.serialization.js.KotlinJavascriptSerializationUtil
|
import org.jetbrains.kotlin.serialization.js.KotlinJavascriptSerializationUtil
|
||||||
import org.jetbrains.kotlin.utils.KotlinJavascriptMetadataUtils
|
import org.jetbrains.kotlin.utils.KotlinJavascriptMetadataUtils
|
||||||
import java.io.File
|
import java.io.File
|
||||||
import java.util.ArrayList
|
import java.util.*
|
||||||
|
|
||||||
abstract class TranslationResult protected constructor(val diagnostics: Diagnostics) {
|
abstract class TranslationResult protected constructor(val diagnostics: Diagnostics) {
|
||||||
|
|
||||||
class Fail(diagnostics: Diagnostics) : TranslationResult(diagnostics)
|
class Fail(diagnostics: Diagnostics) : TranslationResult(diagnostics)
|
||||||
|
|
||||||
class Success(
|
class Success(
|
||||||
private val config: Config,
|
private val config: JsConfig,
|
||||||
private val files: List<KtFile>,
|
private val files: List<KtFile>,
|
||||||
val program: JsProgram,
|
val program: JsProgram,
|
||||||
diagnostics: Diagnostics,
|
diagnostics: Diagnostics,
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ import org.jetbrains.annotations.NotNull;
|
|||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
import org.jetbrains.kotlin.builtins.ReflectionTypes;
|
import org.jetbrains.kotlin.builtins.ReflectionTypes;
|
||||||
import org.jetbrains.kotlin.descriptors.*;
|
import org.jetbrains.kotlin.descriptors.*;
|
||||||
import org.jetbrains.kotlin.js.config.Config;
|
import org.jetbrains.kotlin.js.config.JsConfig;
|
||||||
import org.jetbrains.kotlin.js.config.LibrarySourcesConfig;
|
import org.jetbrains.kotlin.js.config.LibrarySourcesConfig;
|
||||||
import org.jetbrains.kotlin.js.translate.context.generator.Generator;
|
import org.jetbrains.kotlin.js.translate.context.generator.Generator;
|
||||||
import org.jetbrains.kotlin.js.translate.context.generator.Rule;
|
import org.jetbrains.kotlin.js.translate.context.generator.Rule;
|
||||||
@@ -47,9 +47,7 @@ import static org.jetbrains.kotlin.js.translate.utils.JsAstUtils.fqnWithoutSideE
|
|||||||
import static org.jetbrains.kotlin.js.translate.utils.JsDescriptorUtils.*;
|
import static org.jetbrains.kotlin.js.translate.utils.JsDescriptorUtils.*;
|
||||||
import static org.jetbrains.kotlin.js.translate.utils.ManglingUtils.getMangledName;
|
import static org.jetbrains.kotlin.js.translate.utils.ManglingUtils.getMangledName;
|
||||||
import static org.jetbrains.kotlin.js.translate.utils.ManglingUtils.getSuggestedName;
|
import static org.jetbrains.kotlin.js.translate.utils.ManglingUtils.getSuggestedName;
|
||||||
import static org.jetbrains.kotlin.resolve.DescriptorUtils.getParentOfType;
|
import static org.jetbrains.kotlin.resolve.DescriptorUtils.*;
|
||||||
import static org.jetbrains.kotlin.resolve.DescriptorUtils.isCompanionObject;
|
|
||||||
import static org.jetbrains.kotlin.resolve.DescriptorUtils.isExtension;
|
|
||||||
import static org.jetbrains.kotlin.resolve.calls.tasks.DynamicCallsKt.isDynamic;
|
import static org.jetbrains.kotlin.resolve.calls.tasks.DynamicCallsKt.isDynamic;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -57,7 +55,7 @@ import static org.jetbrains.kotlin.resolve.calls.tasks.DynamicCallsKt.isDynamic;
|
|||||||
*/
|
*/
|
||||||
public final class StaticContext {
|
public final class StaticContext {
|
||||||
|
|
||||||
public static StaticContext generateStaticContext(@NotNull BindingTrace bindingTrace, @NotNull Config config, @NotNull ModuleDescriptor moduleDescriptor) {
|
public static StaticContext generateStaticContext(@NotNull BindingTrace bindingTrace, @NotNull JsConfig config, @NotNull ModuleDescriptor moduleDescriptor) {
|
||||||
JsProgram program = new JsProgram("main");
|
JsProgram program = new JsProgram("main");
|
||||||
Namer namer = Namer.newInstance(program.getRootScope());
|
Namer namer = Namer.newInstance(program.getRootScope());
|
||||||
Intrinsics intrinsics = new Intrinsics();
|
Intrinsics intrinsics = new Intrinsics();
|
||||||
@@ -103,12 +101,19 @@ public final class StaticContext {
|
|||||||
private final Map<MemberDescriptor, List<DeclarationDescriptor>> localClassesClosure = Maps.newHashMap();
|
private final Map<MemberDescriptor, List<DeclarationDescriptor>> localClassesClosure = Maps.newHashMap();
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
private final Config config;
|
private final JsConfig config;
|
||||||
|
|
||||||
//TODO: too many parameters in constructor
|
//TODO: too many parameters in constructor
|
||||||
private StaticContext(@NotNull JsProgram program, @NotNull BindingTrace bindingTrace,
|
private StaticContext(
|
||||||
@NotNull Namer namer, @NotNull Intrinsics intrinsics,
|
@NotNull JsProgram program,
|
||||||
@NotNull StandardClasses standardClasses, @NotNull JsScope rootScope, @NotNull Config config, @NotNull ModuleDescriptor moduleDescriptor) {
|
@NotNull BindingTrace bindingTrace,
|
||||||
|
@NotNull Namer namer,
|
||||||
|
@NotNull Intrinsics intrinsics,
|
||||||
|
@NotNull StandardClasses standardClasses,
|
||||||
|
@NotNull JsScope rootScope,
|
||||||
|
@NotNull JsConfig config,
|
||||||
|
@NotNull ModuleDescriptor moduleDescriptor
|
||||||
|
) {
|
||||||
this.program = program;
|
this.program = program;
|
||||||
this.bindingTrace = bindingTrace;
|
this.bindingTrace = bindingTrace;
|
||||||
this.namer = namer;
|
this.namer = namer;
|
||||||
@@ -234,7 +239,7 @@ public final class StaticContext {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
public Config getConfig() {
|
public JsConfig getConfig() {
|
||||||
return config;
|
return config;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -22,7 +22,7 @@ import org.jetbrains.annotations.NotNull;
|
|||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
import org.jetbrains.kotlin.builtins.ReflectionTypes;
|
import org.jetbrains.kotlin.builtins.ReflectionTypes;
|
||||||
import org.jetbrains.kotlin.descriptors.*;
|
import org.jetbrains.kotlin.descriptors.*;
|
||||||
import org.jetbrains.kotlin.js.config.Config;
|
import org.jetbrains.kotlin.js.config.JsConfig;
|
||||||
import org.jetbrains.kotlin.js.translate.intrinsic.Intrinsics;
|
import org.jetbrains.kotlin.js.translate.intrinsic.Intrinsics;
|
||||||
import org.jetbrains.kotlin.js.translate.utils.TranslationUtils;
|
import org.jetbrains.kotlin.js.translate.utils.TranslationUtils;
|
||||||
import org.jetbrains.kotlin.name.FqName;
|
import org.jetbrains.kotlin.name.FqName;
|
||||||
@@ -279,7 +279,7 @@ public class TranslationContext {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
public Config getConfig() {
|
public JsConfig getConfig() {
|
||||||
return staticContext.getConfig();
|
return staticContext.getConfig();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ import org.jetbrains.annotations.Nullable;
|
|||||||
import org.jetbrains.kotlin.descriptors.FunctionDescriptor;
|
import org.jetbrains.kotlin.descriptors.FunctionDescriptor;
|
||||||
import org.jetbrains.kotlin.descriptors.ModuleDescriptor;
|
import org.jetbrains.kotlin.descriptors.ModuleDescriptor;
|
||||||
import org.jetbrains.kotlin.idea.MainFunctionDetector;
|
import org.jetbrains.kotlin.idea.MainFunctionDetector;
|
||||||
import org.jetbrains.kotlin.js.config.Config;
|
import org.jetbrains.kotlin.js.config.JsConfig;
|
||||||
import org.jetbrains.kotlin.js.facade.MainCallParameters;
|
import org.jetbrains.kotlin.js.facade.MainCallParameters;
|
||||||
import org.jetbrains.kotlin.js.facade.exceptions.TranslationException;
|
import org.jetbrains.kotlin.js.facade.exceptions.TranslationException;
|
||||||
import org.jetbrains.kotlin.js.facade.exceptions.TranslationRuntimeException;
|
import org.jetbrains.kotlin.js.facade.exceptions.TranslationRuntimeException;
|
||||||
@@ -172,7 +172,7 @@ public final class Translation {
|
|||||||
@NotNull Collection<KtFile> files,
|
@NotNull Collection<KtFile> files,
|
||||||
@NotNull MainCallParameters mainCallParameters,
|
@NotNull MainCallParameters mainCallParameters,
|
||||||
@NotNull ModuleDescriptor moduleDescriptor,
|
@NotNull ModuleDescriptor moduleDescriptor,
|
||||||
@NotNull Config config
|
@NotNull JsConfig config
|
||||||
) throws TranslationException {
|
) throws TranslationException {
|
||||||
try {
|
try {
|
||||||
return doGenerateAst(bindingTrace, files, mainCallParameters, moduleDescriptor, config);
|
return doGenerateAst(bindingTrace, files, mainCallParameters, moduleDescriptor, config);
|
||||||
@@ -186,10 +186,12 @@ public final class Translation {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
private static TranslationContext doGenerateAst(@NotNull BindingTrace bindingTrace, @NotNull Collection<KtFile> files,
|
private static TranslationContext doGenerateAst(
|
||||||
|
@NotNull BindingTrace bindingTrace,
|
||||||
|
@NotNull Collection<KtFile> files,
|
||||||
@NotNull MainCallParameters mainCallParameters,
|
@NotNull MainCallParameters mainCallParameters,
|
||||||
@NotNull ModuleDescriptor moduleDescriptor,
|
@NotNull ModuleDescriptor moduleDescriptor,
|
||||||
@NotNull Config config
|
@NotNull JsConfig config
|
||||||
) {
|
) {
|
||||||
StaticContext staticContext = StaticContext.generateStaticContext(bindingTrace, config, moduleDescriptor);
|
StaticContext staticContext = StaticContext.generateStaticContext(bindingTrace, config, moduleDescriptor);
|
||||||
JsProgram program = staticContext.getProgram();
|
JsProgram program = staticContext.getProgram();
|
||||||
@@ -222,8 +224,9 @@ public final class Translation {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void mayBeGenerateTests(@NotNull Collection<KtFile> files, @NotNull Config config,
|
private static void mayBeGenerateTests(
|
||||||
@NotNull JsBlock rootBlock, @NotNull TranslationContext context) {
|
@NotNull Collection<KtFile> files, @NotNull JsConfig config, @NotNull JsBlock rootBlock, @NotNull TranslationContext context
|
||||||
|
) {
|
||||||
JSTester tester = config.isTestConfig() ? new JSRhinoUnitTester() : new QUnitTester();
|
JSTester tester = config.isTestConfig() ? new JSRhinoUnitTester() : new QUnitTester();
|
||||||
tester.initialize(context, rootBlock);
|
tester.initialize(context, rootBlock);
|
||||||
JSTestGenerator.generateTestCalls(context, files, tester);
|
JSTestGenerator.generateTestCalls(context, files, tester);
|
||||||
|
|||||||
Reference in New Issue
Block a user