Czar
03/14/2018, 5:59 PMdata class Person(val name: String, val age: Int) {
init {
massage<String>("name") { "${it}suffix" }
}
}
inline fun <T> Any.massage(name: String, modifier: (T) -> T) {
this::class.memberProperties.find { it.name == name }
?.javaField
?.let {
val accessibility = it.isAccessible
it.isAccessible = true
it[this] = modifier(it[this] as T)
it.isAccessible = accessibility
}
}