Remove obsolete check for language version and IR backends

This commit is contained in:
Alexander Udalov
2021-08-06 19:28:30 +02:00
parent a6336ec134
commit 0213c25c9b
4 changed files with 1 additions and 50 deletions
@@ -21,7 +21,6 @@ import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity
import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity.WARNING
import org.jetbrains.kotlin.cli.common.messages.MessageCollector
import org.jetbrains.kotlin.config.*
import java.util.*
@SuppressWarnings("WeakerAccess")
abstract class CommonCompilerArguments : CommonToolArguments() {
@@ -563,8 +562,6 @@ abstract class CommonCompilerArguments : CommonToolArguments() {
checkLanguageVersionIsStable(languageVersion, collector)
checkOutdatedVersions(languageVersion, apiVersion, collector)
checkProgressiveMode(languageVersion, collector)
checkIrSupport(languageVersionSettings, collector)
}
return languageVersionSettings
@@ -635,10 +632,6 @@ abstract class CommonCompilerArguments : CommonToolArguments() {
}
}
protected open fun checkIrSupport(languageVersionSettings: LanguageVersionSettings, collector: MessageCollector) {
// backend-specific
}
private enum class VersionKind(val text: String) {
LANGUAGE("Language"), API("API")
}
@@ -6,12 +6,8 @@
package org.jetbrains.kotlin.cli.common.arguments
import org.jetbrains.kotlin.cli.common.arguments.K2JsArgumentConstants.*
import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity
import org.jetbrains.kotlin.cli.common.messages.MessageCollector
import org.jetbrains.kotlin.config.ApiVersion
import org.jetbrains.kotlin.config.LanguageFeature
import org.jetbrains.kotlin.config.LanguageVersion
import org.jetbrains.kotlin.config.LanguageVersionSettings
class K2JSCompilerArguments : CommonCompilerArguments() {
companion object {
@@ -236,19 +232,6 @@ class K2JSCompilerArguments : CommonCompilerArguments() {
@Argument(value = "-Xwasm", description = "Use experimental WebAssembly compiler backend")
var wasm: Boolean by FreezableVar(false)
override fun checkIrSupport(languageVersionSettings: LanguageVersionSettings, collector: MessageCollector) {
if (!isIrBackendEnabled()) return
if (languageVersionSettings.languageVersion < LanguageVersion.KOTLIN_1_4
|| languageVersionSettings.apiVersion < ApiVersion.KOTLIN_1_4
) {
collector.report(
CompilerMessageSeverity.ERROR,
"IR backend cannot be used with language or API version below 1.4"
)
}
}
override fun configureLanguageFeatures(collector: MessageCollector): MutableMap<LanguageFeature, LanguageFeature.State> {
return super.configureLanguageFeatures(collector).apply {
if (extensionFunctionsInExternals) {
@@ -262,4 +245,4 @@ fun K2JSCompilerArguments.isPreIrBackendDisabled(): Boolean =
irOnly || irProduceJs || irProduceKlibFile || irBuildCache
fun K2JSCompilerArguments.isIrBackendEnabled(): Boolean =
irProduceKlibDir || irProduceJs || irProduceKlibFile || wasm || irBuildCache
irProduceKlibDir || irProduceJs || irProduceKlibFile || wasm || irBuildCache
@@ -557,18 +557,4 @@ default: `indy-with-constants` for JVM target 9 or greater, `inline` otherwise""
}
return result
}
override fun checkIrSupport(languageVersionSettings: LanguageVersionSettings, collector: MessageCollector) {
if (!useIR || useOldBackend) return
if (languageVersionSettings.languageVersion < LanguageVersion.KOTLIN_1_3
|| languageVersionSettings.apiVersion < ApiVersion.KOTLIN_1_3
) {
collector.report(
CompilerMessageSeverity.STRONG_WARNING,
"IR backend does not support language or API version lower than 1.3. " +
"This can lead to unexpected behavior or compilation failures"
)
}
}
}
@@ -358,17 +358,6 @@ class K2NativeCompilerArguments : CommonCompilerArguments() {
if (printIr)
phasesToDumpAfter = arrayOf("ALL")
}
override fun checkIrSupport(languageVersionSettings: LanguageVersionSettings, collector: MessageCollector) {
if (languageVersionSettings.languageVersion < LanguageVersion.KOTLIN_1_4
|| languageVersionSettings.apiVersion < ApiVersion.KOTLIN_1_4
) {
collector.report(
severity = CompilerMessageSeverity.ERROR,
message = "Native backend cannot be used with language or API version below 1.4"
)
}
}
}
const val EMBED_BITCODE_FLAG = "-Xembed-bitcode"