14 lines
570 B
Kotlin
14 lines
570 B
Kotlin
data class PhoebenchVersion(val major: Int, val minor: Int, val patch: Int, val note: String = "") {
|
|
operator fun compareTo(other: PhoebenchVersion): Int {
|
|
// this > other -> return >0
|
|
val majorComp = major - other.major
|
|
if(majorComp != 0) return majorComp
|
|
val minorComp = minor - other.minor
|
|
if(minorComp != 0) return minorComp
|
|
return patch - other.patch
|
|
}
|
|
|
|
override fun toString(): String = if(note.isNotBlank()) "$major.$minor.$patch-$note" else safeString()
|
|
|
|
fun safeString() = "$major.$minor.$patch"
|
|
} |