Value classes: Add isValue property to class descriptors

Reuse isInline flag in proto and IR.
Check metadata version on deserialization.
This commit is contained in:
Ilmir Usmanov
2020-11-17 03:25:04 +01:00
parent 8eff3a6bb3
commit 361ed117bb
16 changed files with 63 additions and 1 deletions
@@ -48,6 +48,19 @@ abstract class BinaryVersion(private vararg val numbers: Int) {
return this.patch >= patch
}
fun isAtMost(version: BinaryVersion): Boolean =
isAtMost(version.major, version.minor, version.patch)
fun isAtMost(major: Int, minor: Int, patch: Int): Boolean {
if (this.major < major) return true
if (this.major > major) return false
if (this.minor < minor) return true
if (this.minor > minor) return false
return this.patch <= patch
}
override fun toString(): String {
val versions = toArray().takeWhile { it != UNKNOWN }
return if (versions.isEmpty()) "unknown" else versions.joinToString(".")