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