alexhelder
08/04/2025, 2:29 PMPreferences
and MutablePreferences
, and the context for get()
should be Preferences
, and the context for set(value)
should be MutablePreferences
Youssef Shoaib [MOD]
08/04/2025, 2:40 PMcontext(l: List<T>)
@set:Deprecated("", level = DeprecationLevel.HIDDEN)
var <T> first get() = l.first()
set(value) { TODO() }
context(l: MutableList<T>)
@get:JvmName("getMutFirst")
@set:JvmName("setMutFirst")
@get:Deprecated("", level = DeprecationLevel.HIDDEN)
var <T> first get() = l.first()
set(value) { l[0] = value }
fun main() = with(listOf(1)) {
println(first)
with(mutableListOf(1)) {
println(first)
first = 2
println(first)
}
}
alexhelder
08/04/2025, 2:51 PMYoussef Shoaib [MOD]
08/04/2025, 2:54 PMvar
because otherwise it caused issues.hfhbd
08/04/2025, 6:16 PMalexhelder
08/05/2025, 2:05 PMval Preferences.serverAddress: ServerAddress?
get() = get(Keys.SERVER_HOST)
?.let { ServerAddress(it) }
var MutablePreferences.serverAddress: ServerAddress?
set(serverAddress) {
if (serverAddress == null || serverAddress.value.isEmpty()) {
remove(Keys.SERVER_HOST)
} else {
set(Keys.SERVER_HOST, serverAddress.value)
}
}
get() = get(Keys.SERVER_HOST)
?.let { ServerAddress(it) }
Preferences
and MutablePreferences
are from jetpack DataStore, an external libYoussef Shoaib [MOD]
08/05/2025, 2:13 PMval Preferences.serverAddress: ServerAddress?
get() = get(Keys.SERVER_HOST)
?.let { ServerAddress(it) }
var MutablePreferences.serverAddress: ServerAddress?
set(serverAddress) {
if (serverAddress == null || serverAddress.value.isEmpty()) {
remove(Keys.SERVER_HOST)
} else {
set(Keys.SERVER_HOST, serverAddress.value)
}
}
get() = (this as Preferences).serverAddress
alexhelder
08/05/2025, 2:17 PMephemient
08/06/2025, 2:16 AMval Preferences.serverAddress: ServerAddress?
get() { ... }
var MutablePreferences.serverAddress: ServerAddress?
get() = run(Preferences::serverAddress)
set(value) { ... }