mirror of
https://github.com/mamoe/mirai.git
synced 2025-01-10 18:40:15 +08:00
Use lazy for SemVersion.toString
This commit is contained in:
parent
ef4d259f60
commit
7a533d4667
@ -188,23 +188,22 @@ public data class SemVersion internal constructor(
|
||||
}
|
||||
|
||||
@Transient
|
||||
private var toString: String? = null // For cache.
|
||||
override fun toString(): String {
|
||||
return toString ?: kotlin.run {
|
||||
buildString {
|
||||
mainVersion.joinTo(this, ".")
|
||||
identifier?.let { identifier ->
|
||||
append('-')
|
||||
append(identifier)
|
||||
}
|
||||
metadata?.let { metadata ->
|
||||
append('+')
|
||||
append(metadata)
|
||||
}
|
||||
}.also { toString = it }
|
||||
private val toString: String by lazy(LazyThreadSafetyMode.NONE) {
|
||||
buildString {
|
||||
mainVersion.joinTo(this, ".")
|
||||
identifier?.let { identifier ->
|
||||
append('-')
|
||||
append(identifier)
|
||||
}
|
||||
metadata?.let { metadata ->
|
||||
append('+')
|
||||
append(metadata)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
override fun toString(): String = toString
|
||||
|
||||
/**
|
||||
* 将 [SemVersion] 转为 Kotlin data class 风格的 [String]
|
||||
*/
|
||||
|
Loading…
Reference in New Issue
Block a user