| // 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 |
| // TARGET_BACKEND: JVM |
| // 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() |
| } |