From b67d23685760f0c6e6a8fa38c1e64f237fcc5f58 Mon Sep 17 00:00:00 2001 From: Alexander Udalov Date: Tue, 7 Aug 2018 16:13:16 +0200 Subject: [PATCH] Fix bunch files for KotlinToJVMBytecodeCompiler After 15823540776 --- .../compiler/KotlinToJVMBytecodeCompiler.kt.as31 | 16 ++++++++++------ .../compiler/KotlinToJVMBytecodeCompiler.kt.as32 | 16 ++++++++++------ 2 files changed, 20 insertions(+), 12 deletions(-) diff --git a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/KotlinToJVMBytecodeCompiler.kt.as31 b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/KotlinToJVMBytecodeCompiler.kt.as31 index 521956594d3..543a088f8c2 100644 --- a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/KotlinToJVMBytecodeCompiler.kt.as31 +++ b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/KotlinToJVMBytecodeCompiler.kt.as31 @@ -31,6 +31,7 @@ import org.jetbrains.kotlin.backend.jvm.JvmIrCodegenFactory import org.jetbrains.kotlin.cli.common.CLIConfigurationKeys import org.jetbrains.kotlin.cli.common.ExitCode import org.jetbrains.kotlin.cli.common.checkKotlinPackageUsage +import org.jetbrains.kotlin.cli.common.config.addKotlinSourceRoots import org.jetbrains.kotlin.cli.common.messages.AnalyzerWithCompilerReport import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity.OUTPUT import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity.WARNING @@ -41,7 +42,10 @@ import org.jetbrains.kotlin.cli.jvm.config.* import org.jetbrains.kotlin.codegen.* import org.jetbrains.kotlin.codegen.state.GenerationState import org.jetbrains.kotlin.codegen.state.GenerationStateEventCallback -import org.jetbrains.kotlin.config.* +import org.jetbrains.kotlin.config.CommonConfigurationKeys +import org.jetbrains.kotlin.config.CompilerConfiguration +import org.jetbrains.kotlin.config.JVMConfigurationKeys +import org.jetbrains.kotlin.config.languageVersionSettings import org.jetbrains.kotlin.fileClasses.JvmFileClassUtil import org.jetbrains.kotlin.idea.MainFunctionDetector import org.jetbrains.kotlin.javac.JavacWrapper @@ -133,9 +137,9 @@ object KotlinToJVMBytecodeCompiler { for (module in chunk) { ProgressIndicatorAndCompilationCanceledStatus.checkCanceled() - val ktFiles = CompileEnvironmentUtil.getKtFiles( - environment.project, getAbsolutePaths(buildFile, module), projectConfiguration - ) { path -> throw IllegalStateException("Should have been checked before: $path") } + val moduleSourcePaths = getAbsolutePaths(buildFile, module) + val ktFiles = environment.getSourceFiles().filter { file -> file.virtualFilePath in moduleSourcePaths } + if (!checkKotlinPackageUsage(environment, ktFiles)) return false val moduleConfiguration = projectConfiguration.copy().apply { @@ -196,7 +200,7 @@ object KotlinToJVMBytecodeCompiler { for (module in chunk) { for (classpathRoot in module.getClasspathRoots()) { configuration.add( - JVMConfigurationKeys.CONTENT_ROOTS, + CLIConfigurationKeys.CONTENT_ROOTS, if (isJava9Module) JvmModulePathRoot(File(classpathRoot)) else JvmClasspathRoot(File(classpathRoot)) ) } @@ -320,7 +324,7 @@ object KotlinToJVMBytecodeCompiler { val state = analyzeAndGenerate(environment) ?: return null try { - val urls = environment.configuration.getList(JVMConfigurationKeys.CONTENT_ROOTS).mapNotNull { root -> + val urls = environment.configuration.getList(CLIConfigurationKeys.CONTENT_ROOTS).mapNotNull { root -> when (root) { is JvmModulePathRoot -> root.file // TODO: only add required modules is JvmClasspathRoot -> root.file diff --git a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/KotlinToJVMBytecodeCompiler.kt.as32 b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/KotlinToJVMBytecodeCompiler.kt.as32 index 521956594d3..543a088f8c2 100644 --- a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/KotlinToJVMBytecodeCompiler.kt.as32 +++ b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/KotlinToJVMBytecodeCompiler.kt.as32 @@ -31,6 +31,7 @@ import org.jetbrains.kotlin.backend.jvm.JvmIrCodegenFactory import org.jetbrains.kotlin.cli.common.CLIConfigurationKeys import org.jetbrains.kotlin.cli.common.ExitCode import org.jetbrains.kotlin.cli.common.checkKotlinPackageUsage +import org.jetbrains.kotlin.cli.common.config.addKotlinSourceRoots import org.jetbrains.kotlin.cli.common.messages.AnalyzerWithCompilerReport import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity.OUTPUT import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity.WARNING @@ -41,7 +42,10 @@ import org.jetbrains.kotlin.cli.jvm.config.* import org.jetbrains.kotlin.codegen.* import org.jetbrains.kotlin.codegen.state.GenerationState import org.jetbrains.kotlin.codegen.state.GenerationStateEventCallback -import org.jetbrains.kotlin.config.* +import org.jetbrains.kotlin.config.CommonConfigurationKeys +import org.jetbrains.kotlin.config.CompilerConfiguration +import org.jetbrains.kotlin.config.JVMConfigurationKeys +import org.jetbrains.kotlin.config.languageVersionSettings import org.jetbrains.kotlin.fileClasses.JvmFileClassUtil import org.jetbrains.kotlin.idea.MainFunctionDetector import org.jetbrains.kotlin.javac.JavacWrapper @@ -133,9 +137,9 @@ object KotlinToJVMBytecodeCompiler { for (module in chunk) { ProgressIndicatorAndCompilationCanceledStatus.checkCanceled() - val ktFiles = CompileEnvironmentUtil.getKtFiles( - environment.project, getAbsolutePaths(buildFile, module), projectConfiguration - ) { path -> throw IllegalStateException("Should have been checked before: $path") } + val moduleSourcePaths = getAbsolutePaths(buildFile, module) + val ktFiles = environment.getSourceFiles().filter { file -> file.virtualFilePath in moduleSourcePaths } + if (!checkKotlinPackageUsage(environment, ktFiles)) return false val moduleConfiguration = projectConfiguration.copy().apply { @@ -196,7 +200,7 @@ object KotlinToJVMBytecodeCompiler { for (module in chunk) { for (classpathRoot in module.getClasspathRoots()) { configuration.add( - JVMConfigurationKeys.CONTENT_ROOTS, + CLIConfigurationKeys.CONTENT_ROOTS, if (isJava9Module) JvmModulePathRoot(File(classpathRoot)) else JvmClasspathRoot(File(classpathRoot)) ) } @@ -320,7 +324,7 @@ object KotlinToJVMBytecodeCompiler { val state = analyzeAndGenerate(environment) ?: return null try { - val urls = environment.configuration.getList(JVMConfigurationKeys.CONTENT_ROOTS).mapNotNull { root -> + val urls = environment.configuration.getList(CLIConfigurationKeys.CONTENT_ROOTS).mapNotNull { root -> when (root) { is JvmModulePathRoot -> root.file // TODO: only add required modules is JvmClasspathRoot -> root.file