error en la anotación de Kotlin?

aquí hay dos ejemplos de código

Java:

public class Q { @Retention(RetentionPolicy.SOURCE) @IntDef({LOL.one, LOL.two}) @interface Lol{} public final class LOL{ public final static int one = 1; public final static int two = 2; } public Q(){ q(1); } void q (@Lol int q){ } } 

kotlin:

 class Q { @Retention(AnnotationRetention.SOURCE) @IntDef(LOL.one, LOL.two) internal annotation class Lol object LOL { const val one = 1L const val two = 2L } init { q(1) } internal fun q(@Lol q: Int) { } } 

problema aquí: en Java llamando a esto q (1); le mostrará un error como: "debe ser uno de …"

pero en kotlin no hay ningún post de error, por lo que podemos poner como parámetro el time que queramos … así perdemos las ventajas de la anotación como parámetro …

parece un error o estoy haciendo algo mal?