Check API version instead of language in JVM runtime versions checker

It should be a valid case to invoke the 1.1 compiler with the 1.0 runtime in
the classpath and "-api-version 1.0". However, previously it was an error and
the message suggested to specify "-language-version 1.0". Language version 1.0
implies API version 1.0, so this effectively made the "-api-version" option
useless
This commit is contained in:
Alexander Udalov
2017-02-03 14:49:19 +03:00
parent e0cea468fa
commit 3a7eec8635
2 changed files with 24 additions and 26 deletions
@@ -19,7 +19,7 @@ package org.jetbrains.kotlin.config
import org.jetbrains.kotlin.serialization.deserialization.descriptors.SinceKotlinInfo
class ApiVersion private constructor(
private val version: MavenComparableVersion,
val version: MavenComparableVersion,
val versionString: String
) : Comparable<ApiVersion> {
override fun compareTo(other: ApiVersion): Int =
@@ -34,11 +34,14 @@ class ApiVersion private constructor(
override fun toString() = versionString
companion object {
@JvmField
val KOTLIN_1_0 = createByLanguageVersion(LanguageVersion.KOTLIN_1_0)
@JvmField
val KOTLIN_1_1 = createByLanguageVersion(LanguageVersion.KOTLIN_1_1)
@JvmField
val LATEST: ApiVersion = createByLanguageVersion(LanguageVersion.Companion.LATEST)
val LATEST: ApiVersion = createByLanguageVersion(LanguageVersion.LATEST)
@JvmStatic
fun createByLanguageVersion(version: LanguageVersion): ApiVersion = parse(version.versionString)!!