| // TARGET_BACKEND: JVM | |
| // FILE: JavaImpl.java | |
| public class JavaImpl implements KotlinInterface { | |
| private final String id; | |
| JavaImpl(String id) { | |
| this.id = id; | |
| } | |
| @Override | |
| public String id() { | |
| return id; | |
| } | |
| } | |
| // FILE: JavaAnnotation.java | |
| public @interface JavaAnnotation { | |
| public Class<?> as() default Void.class; | |
| } | |
| // FILE: kt25489.kt | |
| // Note: if you wish to reproduce KT-25489, turn UL classes OFF | |
| @JavaAnnotation(`as` = JavaImpl::class) | |
| interface KotlinInterface : Identity | |
| interface Identity { | |
| fun id(): String | |
| } | |
| fun box(): String { | |
| val impl = JavaImpl("OK") | |
| return impl.id() | |
| } |