Kotlin, Java 4..18, Code Coverage and their best friend — bytecode: ...
summary
Shows analysis of classfiles produced by javac 18 and kotlinc 1.6 using javap and JaCoCo to find real differences: nestmates remove synthetic bridge constructors since JDK11, Kotlin generates non‑synthetic getters so JaCoCo must filter them by absence of line numbers, records use invokedynamic to mark generated methods, enum switch compilation adds a synthetic mapping class and can cause static initializer NPEs from split compilation, and preview pattern‑matching produced extra bytecode line entries that get reported and later fixed.
AI-written summary · about
chapters (12)
- 0:00Start
- 2:19Code Coverage Report
- 5:19Disclaimer
- 8:55Java Disassembler
- 12:44Nest Based Access Control
- 17:31Kotlin
- 31:11Quiz
- 36:25Switch Expressions
- 37:03Pattern Matching Phase
- 40:04Pattern Matching for Switch Expressions
- 40:15Pattern Matching
- 43:28Conclusion
related talks
56mJava 4..21, Kotlin, Code Coverage, bytecode: scandals, intrigues, investigations
46mJava, Code Coverage & Their Best Friend: Bytecode
39mBytecode Pattern Matching
33mKotlin: Uncovered
44mJava Code Coverage Mechanics
38mDekompiled
14mDissecting HelloWorld: Kotlin & Java
34mUnderstand Every Line of Your Codebase
