Kotlin Decompiler genera código erróneo – ¿Es posible prevenir?

class CheckInventory(target: Target) : Command(target) { } 

Al descomstackr el código de Kotlin anterior utilizando la opción " Mostrar código de byte Kotlin " de IntelliJ, sigue generando una statement por encima de la llamada super() :

 class CheckInventory extends Command { public CheckInventory(Target target) { Intrinsic.checkParameterIsNotNull(target, "target"); super(target); //error, must be first call } } 

Hay algunos otros problemas, como la generación de classs de nivel superior con un modificador de acceso para WhenMapping:

 public class MyClass { } public final class MyClass$WhenMappings { //error, shouldn't be public } 

Revisé las actualizaciones de Kotlin e IntelliJ, y estoy usando la última versión para ambas.

Al principio pensé que podría tener que ver con un código de Kotlin mal escrito, pero incluso los files de código más simples parecen requerir algún tipo de verificación / generación que es ilegal en Java.

Pregunta

¿Hay alguna forma de garantizar que el process de descompilation se mantenga dentro de los límites de las reglas de lenguaje de Java?