Support "// !API_VERSION: LATEST" directive in tests
Useful for tests that check behavior which depends on having a recent API version enabled, and that don't want to depend on a specific fixed API version (to prevent eventual obsoletion)
This commit is contained in:
+5
-2
@@ -76,8 +76,11 @@ fun parseLanguageVersionSettings(directives: Map<String, String>): CompilerTestL
|
|||||||
return null
|
return null
|
||||||
}
|
}
|
||||||
|
|
||||||
val apiVersion = (if (apiVersionString != null) ApiVersion.parse(apiVersionString) else ApiVersion.LATEST_STABLE)
|
val apiVersion = when (apiVersionString) {
|
||||||
?: error("Unknown API version: $apiVersionString")
|
null -> ApiVersion.LATEST_STABLE
|
||||||
|
"LATEST" -> ApiVersion.LATEST
|
||||||
|
else -> ApiVersion.parse(apiVersionString) ?: error("Unknown API version: $apiVersionString")
|
||||||
|
}
|
||||||
|
|
||||||
val languageVersion = maxOf(LanguageVersion.LATEST_STABLE, LanguageVersion.fromVersionString(apiVersion.versionString)!!)
|
val languageVersion = maxOf(LanguageVersion.LATEST_STABLE, LanguageVersion.fromVersionString(apiVersion.versionString)!!)
|
||||||
|
|
||||||
|
|||||||
@@ -52,6 +52,9 @@ class ApiVersion private constructor(
|
|||||||
@JvmField
|
@JvmField
|
||||||
val KOTLIN_1_3 = createByLanguageVersion(LanguageVersion.KOTLIN_1_3)
|
val KOTLIN_1_3 = createByLanguageVersion(LanguageVersion.KOTLIN_1_3)
|
||||||
|
|
||||||
|
@JvmField
|
||||||
|
val LATEST: ApiVersion = createByLanguageVersion(LanguageVersion.values().last())
|
||||||
|
|
||||||
@JvmField
|
@JvmField
|
||||||
val LATEST_STABLE: ApiVersion = createByLanguageVersion(LanguageVersion.LATEST_STABLE)
|
val LATEST_STABLE: ApiVersion = createByLanguageVersion(LanguageVersion.LATEST_STABLE)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user