Exploiting Kotlin Metadata + Annotation Processing

Exploiting Kotlin Metadata + Annotation Processing

When compiling Kotlin code for the JVM, the resulting bytecode doesn't understand the advanced features of the language – like the difference between List and MutableList, or List<String> and List<String?>.

A year ago a prototype was developed to use these "metadata" during annotation processing; today, a few popular libraries (even from Google!) employ it under the hood to take their Kotlin integration to the next level.

Join us to explore what's possible, and have fun digging into some practical examples.

[ sequel to last year's presentation at Kotlin Night Berlin: "Unleash the secret power of Kotlin Metadata" ]


Eugenio Marletti

June 15, 2018