Introduce SinceKotlinInfo, load from serialized metadata
This is a way for future compilers to cause previous compilers to report diagnostics on usages of some declarations. Diagnostic can have a message (and/or error code), level (error, warning, or completely hide the declaration from the resolution), and Kotlin version, since which the diagnostic should no longer be reported
This commit is contained in:
@@ -16,6 +16,8 @@
|
||||
|
||||
package org.jetbrains.kotlin.config
|
||||
|
||||
import org.jetbrains.kotlin.serialization.deserialization.descriptors.SinceKotlinInfo
|
||||
|
||||
class ApiVersion private constructor(
|
||||
private val version: MavenComparableVersion,
|
||||
val versionString: String
|
||||
@@ -38,6 +40,10 @@ class ApiVersion private constructor(
|
||||
@JvmStatic
|
||||
fun createByLanguageVersion(version: LanguageVersion): ApiVersion = parse(version.versionString)!!
|
||||
|
||||
@JvmStatic
|
||||
fun createBySinceKotlinInfo(sinceKotlinInfo: SinceKotlinInfo): ApiVersion =
|
||||
sinceKotlinInfo.version.let { version -> parse(version.asString()) ?: error("Could not parse version: $version") }
|
||||
|
||||
fun parse(versionString: String): ApiVersion? = try {
|
||||
ApiVersion(MavenComparableVersion(versionString), versionString)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user