// TARGET_BACKEND: JVM // WITH_STDLIB // MODULE: lib // FILE: A.kt package constants public const val b: Byte = 100 public const val s: Short = 20000 public const val i: Int = 2000000 public const val l: Long = 2000000000000L public const val f: Float = 3.14f public const val d: Double = 3.14 public const val bb: Boolean = true public const val c: Char = '\u03c0' // pi symbol public const val str: String = ":)" @Retention(AnnotationRetention.RUNTIME) public annotation class AnnotationClass(public val value: String) // MODULE: main(lib) // FILE: B.kt import constants.* @AnnotationClass("$b $s $i $l $f $d $bb $c $str") class DummyClass() fun box(): String { val klass = DummyClass::class.java val annotationClass = AnnotationClass::class.java val annotation = klass.getAnnotation(annotationClass)!! val value = annotation.value require(value == "100 20000 2000000 2000000000000 3.14 3.14 true \u03c0 :)", { "Annotation value: $value" }) return "OK" }