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 MutablePreferencesYoussef 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).serverAddressalexhelder
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) { ... }