kirillrakhman
03/29/2016, 11:54 AMmpcjanssen
03/29/2016, 11:54 AMdimitar_
03/29/2016, 11:54 AMdimitar_
03/29/2016, 11:54 AMjasper
03/29/2016, 11:54 AMkirillrakhman
03/29/2016, 11:55 AMdimitar_
03/29/2016, 11:55 AMjasper
03/29/2016, 11:55 AMromaric
03/29/2016, 12:46 PMromaric
03/29/2016, 12:52 PMwhen { “Hello”.isNotEmpty() -> ... }
how does "when" react ? like a “if” ?dmitry.petrov
03/29/2016, 12:56 PMromaric
03/29/2016, 1:01 PMpawegio
03/29/2016, 1:07 PMwhen
is translated: https://github.com/JetBrains/kotlin/blob/8497931455797c945a3244943e79018e00642191/js/js.translator/src/org/jetbrains/kotlin/js/translate/expression/WhenTranslator.java#L70dmitry.petrov
03/29/2016, 1:08 PMromaric
03/29/2016, 1:09 PMdmitry.petrov
03/29/2016, 1:09 PMchrisjenx
03/29/2016, 1:14 PMyole
03/29/2016, 1:15 PMchrisjenx
03/29/2016, 1:18 PMSharedPref
, setValue
, getValue
etc.chrisjenx
03/29/2016, 1:19 PMsetValue
what is the way to determine the type of the underlying type of KProperty?chrisjenx
03/29/2016, 1:19 PMvmironov
03/29/2016, 1:19 PMvmironov
03/29/2016, 1:20 PMkotlin-reflect
chrisjenx
03/29/2016, 1:20 PMoperator fun <V : Any?> SharedPreferences.setValue(thisRef: Any?, property: KProperty<*>, value: V?) {
val name = getPrefName(thisRef, property)
edit()
.apply {
when (property.returnType) {
String::class -> putString(name, value as String)
Int::class -> putInt(name, value as Int)
Float::class -> putFloat(name, value as Float)
Long::class -> putLong(name, value as Long)
}
}
.apply()
}
chrisjenx
03/29/2016, 1:21 PMvoddan
03/29/2016, 1:23 PMchrisjenx
03/29/2016, 1:23 PMchrisjenx
03/29/2016, 1:23 PMdalexander
03/29/2016, 1:24 PMchrisjenx
03/29/2016, 1:29 PMoperator fun SharedPreferences.setValue(thisRef: Any?, property: KProperty<*>, value: String?) {
val name = getPrefName(thisRef, property)
edit().putString(name, value).apply()
}
operator fun SharedPreferences.setValue(thisRef: Any?, property: KProperty<*>, value: Int) {
val name = getPrefName(thisRef, property)
edit().putInt(name, value).apply()
}