I recently started developing an application with Kotlin. I found myself constantly wondering exactly what effect the Kotlin features have on the actual compiled classes. I was able to automatically generate the answers I needed.

First of all, my solution is here on GitHub.

What I do is:

  1. Write Kotlin code
  2. Compile the Kotlin code
  3. De-compile the resulting classes to Java code
  4. Gather the original Kotlin and resulting Java code
  5. Render markdown where I present this in a nice and tidy way

The input is only Kotlin and the output is a report telling me what I want to know.

Feel free to clone the repo and experiment yourself. I happily accept pull requests.