Change type of KotlinCoreEnvironment::projectEnvironment type

This commit is contained in:
Denis.Zharkov
2021-07-22 16:40:55 +03:00
committed by TeamCityServer
parent d6adac8dd0
commit ea5157cadc
5 changed files with 10 additions and 22 deletions
@@ -5,9 +5,9 @@
package org.jetbrains.kotlin.cli.common.extensions
import com.intellij.core.JavaCoreProjectEnvironment
import org.jetbrains.kotlin.cli.common.ExitCode
import org.jetbrains.kotlin.cli.common.arguments.CommonCompilerArguments
import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment
import org.jetbrains.kotlin.config.CompilerConfiguration
import org.jetbrains.kotlin.extensions.ProjectExtensionDescriptor
@@ -22,6 +22,6 @@ interface ScriptEvaluationExtension {
fun eval(
arguments: CommonCompilerArguments,
configuration: CompilerConfiguration,
projectEnvironment: JavaCoreProjectEnvironment
projectEnvironment: KotlinCoreEnvironment.ProjectEnvironment
): ExitCode
}
@@ -108,7 +108,7 @@ import java.nio.file.FileSystems
import java.util.zip.ZipFile
class KotlinCoreEnvironment private constructor(
val projectEnvironment: JavaCoreProjectEnvironment,
val projectEnvironment: ProjectEnvironment,
private val initialConfiguration: CompilerConfiguration,
configFiles: EnvironmentConfigFiles
) {
@@ -196,9 +196,6 @@ class KotlinCoreEnvironment private constructor(
val configuration: CompilerConfiguration = initialConfiguration.apply { setupJdkClasspathRoots(configFiles) }.copy()
private val jarFileSystem: VirtualFileSystem =
(projectEnvironment as? ProjectEnvironment)?.jarFileSystem ?: applicationEnvironment.jarFileSystem
init {
PersistentFSConstants::class.java.getDeclaredField("ourMaxIntellisenseFileSize")
.apply { isAccessible = true }
@@ -439,7 +436,7 @@ class KotlinCoreEnvironment private constructor(
}
private fun findJarRoot(file: File): VirtualFile? =
jarFileSystem.findFileByPath("$file${URLUtil.JAR_SEPARATOR}")
projectEnvironment.jarFileSystem.findFileByPath("$file${URLUtil.JAR_SEPARATOR}")
private fun getSourceRootsCheckingForDuplicates(): List<KotlinSourceRoot> {
val uniqueSourceRoots = hashSetOf<String>()
@@ -486,7 +483,7 @@ class KotlinCoreEnvironment private constructor(
@JvmStatic
fun createForProduction(
projectEnvironment: JavaCoreProjectEnvironment, configuration: CompilerConfiguration, configFiles: EnvironmentConfigFiles
projectEnvironment: ProjectEnvironment, configuration: CompilerConfiguration, configFiles: EnvironmentConfigFiles
): KotlinCoreEnvironment {
val environment = KotlinCoreEnvironment(projectEnvironment, configuration, configFiles)
@@ -5,7 +5,6 @@
package org.jetbrains.kotlin.scripting.compiler.plugin
import com.intellij.core.JavaCoreProjectEnvironment
import org.jetbrains.kotlin.cli.common.CLIConfigurationKeys
import org.jetbrains.kotlin.cli.common.ExitCode
import org.jetbrains.kotlin.cli.common.arguments.CommonCompilerArguments
@@ -31,7 +30,7 @@ abstract class AbstractScriptEvaluationExtension : ScriptEvaluationExtension {
abstract fun setupScriptConfiguration(configuration: CompilerConfiguration)
abstract fun createEnvironment(
projectEnvironment: JavaCoreProjectEnvironment,
projectEnvironment: KotlinCoreEnvironment.ProjectEnvironment,
configuration: CompilerConfiguration
): KotlinCoreEnvironment
@@ -43,7 +42,7 @@ abstract class AbstractScriptEvaluationExtension : ScriptEvaluationExtension {
override fun eval(
arguments: CommonCompilerArguments,
configuration: CompilerConfiguration,
projectEnvironment: JavaCoreProjectEnvironment
projectEnvironment: KotlinCoreEnvironment.ProjectEnvironment
): ExitCode {
val messageCollector = configuration.getNotNull(CLIConfigurationKeys.MESSAGE_COLLECTOR_KEY)
val scriptDefinitionProvider = ScriptDefinitionProvider.getInstance(projectEnvironment.project)
@@ -5,23 +5,16 @@
package org.jetbrains.kotlin.scripting.compiler.plugin
import com.intellij.core.JavaCoreProjectEnvironment
import org.jetbrains.kotlin.cli.common.CLIConfigurationKeys
import org.jetbrains.kotlin.cli.common.arguments.CommonCompilerArguments
import org.jetbrains.kotlin.cli.common.arguments.K2JSCompilerArguments
import org.jetbrains.kotlin.cli.common.repl.ReplCompileResult
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.descriptors.ModuleDescriptor
import org.jetbrains.kotlin.ir.backend.js.utils.NameTables
import org.jetbrains.kotlin.ir.util.SymbolTable
import org.jetbrains.kotlin.scripting.compiler.plugin.impl.JsScriptCompilerWithDependenciesProxy
import org.jetbrains.kotlin.scripting.compiler.plugin.impl.withMessageCollector
import org.jetbrains.kotlin.scripting.configuration.ScriptingConfigurationKeys
import org.jetbrains.kotlin.scripting.definitions.ScriptDefinition
import org.jetbrains.kotlin.scripting.definitions.platform
import org.jetbrains.kotlin.scripting.repl.js.*
import org.jetbrains.kotlin.scripting.repl.js.JsScriptEvaluator
import kotlin.script.experimental.api.*
import kotlin.script.experimental.host.ScriptingHostConfiguration
import kotlin.script.experimental.jvm.JsDependency
@@ -47,7 +40,7 @@ class JsScriptEvaluationExtension : AbstractScriptEvaluationExtension() {
}
override fun createEnvironment(
projectEnvironment: JavaCoreProjectEnvironment,
projectEnvironment: KotlinCoreEnvironment.ProjectEnvironment,
configuration: CompilerConfiguration
): KotlinCoreEnvironment {
return KotlinCoreEnvironment.createForProduction(
@@ -5,7 +5,6 @@
package org.jetbrains.kotlin.scripting.compiler.plugin
import com.intellij.core.JavaCoreProjectEnvironment
import org.jetbrains.kotlin.cli.common.arguments.CommonCompilerArguments
import org.jetbrains.kotlin.cli.common.arguments.K2JVMCompilerArguments
import org.jetbrains.kotlin.cli.jvm.compiler.EnvironmentConfigFiles
@@ -32,7 +31,7 @@ class JvmCliScriptEvaluationExtension : AbstractScriptEvaluationExtension() {
}
override fun createEnvironment(
projectEnvironment: JavaCoreProjectEnvironment,
projectEnvironment: KotlinCoreEnvironment.ProjectEnvironment,
configuration: CompilerConfiguration
): KotlinCoreEnvironment {
return KotlinCoreEnvironment.createForProduction(projectEnvironment, configuration, EnvironmentConfigFiles.JVM_CONFIG_FILES)