commonMain.com.sunnychung.lib.multiplatform.kotlite.model.ComparableRuntimeValue.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of kotlite-interpreter-jvm Show documentation
Show all versions of kotlite-interpreter-jvm Show documentation
A Kotlin Multiplatform library to interpret Kotlite code, which is a subset of Kotlin language, in runtime in a safe way.
The newest version!
package com.sunnychung.lib.multiplatform.kotlite.model
import com.sunnychung.lib.multiplatform.kotlite.extension.fullClassName
sealed interface ComparableRuntimeValue : RuntimeValue, Comparable>
sealed interface ComparableRuntimeValueHolder : ComparableRuntimeValue, KotlinValueHolder {
override val value: T
override fun compareTo(other: ComparableRuntimeValue): Int {
if (other !is ComparableRuntimeValueHolder) {
throw RuntimeException("Compare target is not a ComparableRuntimeValueHolder but ${other::class.fullClassName}")
}
return (value as Comparable).compareTo(other.value as C)
}
}