54 lines
1.1 KiB
Kotlin
Vendored
54 lines
1.1 KiB
Kotlin
Vendored
// TARGET_BACKEND: JVM_IR
|
|
// FULL_JDK
|
|
// JVM_TARGET: 1.8
|
|
// MODULE: m1
|
|
// FILE: Nls.java
|
|
|
|
import java.lang.annotation.Documented;
|
|
import java.lang.annotation.ElementType;
|
|
import java.lang.annotation.Retention;
|
|
import java.lang.annotation.RetentionPolicy;
|
|
import java.lang.annotation.Target;
|
|
|
|
@Documented
|
|
@Retention(RetentionPolicy.CLASS)
|
|
@Target({ElementType.METHOD, ElementType.FIELD, ElementType.PARAMETER, ElementType.LOCAL_VARIABLE, ElementType.TYPE_USE, ElementType.TYPE, ElementType.PACKAGE})
|
|
public @interface Nls {
|
|
|
|
enum Capitalization {
|
|
NotSpecified,
|
|
Title,
|
|
Sentence
|
|
}
|
|
|
|
Capitalization capitalization() default Capitalization.NotSpecified;
|
|
}
|
|
|
|
// FILE: Bundle.java
|
|
|
|
import java.util.function.Supplier;
|
|
|
|
public class Bundle {
|
|
public static Supplier<@Nls String> pointer() {
|
|
return null;
|
|
}
|
|
}
|
|
|
|
// MODULE: m2(m1)
|
|
// FILE: some.kt
|
|
|
|
import java.util.function.Supplier
|
|
import Nls.Capitalization.Title
|
|
|
|
object Bar {
|
|
fun foo(s: Supplier<@Nls(capitalization = Title) String>?) {}
|
|
}
|
|
|
|
// MODULE: m3(m2, m1)
|
|
// FILE: box.kt
|
|
|
|
fun box(): String {
|
|
Bar.foo(Bundle.pointer())
|
|
return "OK"
|
|
}
|