<@U0EETBQLS> : Using kotlin.reflect I was able to ...
# announcements
d
@debug : Using kotlin.reflect I was able to put together a toy example that diffs two Data Classes:
Copy code
import kotlin.reflect.*

fun main(args: Array<String>){
    val john = User("John", 23)
    val tom = User("Tom", 23)
    compare(john, tom)
}

data class User(val name: String, var age: Int)

fun compare(user1 :User, user2 : User)
{
    val differences: MutableList<Any> = arrayListOf()
    for (member in User::class.memberProperties){
        if(member.get(user1) != member.get(user2)){
            differences.add(member)
        }
    }
    println(differences)
}
Much better solution @kirillrakhman pointed out:
Copy code
val differences = User::class.memberProperties.filter { it.get(user1) != it.get(user2) }