| // RUN_PIPELINE_TILL: FRONTEND |
| // FILE: Some.java |
| import java.util.List; |
| |
| public class Some { |
| // Note that this source is incorrect Java code |
| public static List<@SomeAnn(1) @SomeAnn(2) String> foo() { |
| return null; |
| } |
| } |
| |
| // FILE: SomeAnn.java |
| |
| @Target({ElementType.TYPE_PARAMETER, ElementType.TYPE_USE}) |
| public @interface SomeAnn { |
| int value(); |
| } |
| |
| |
| // FILE: test.kt |
| fun <T> foo(bar: () -> T) { |
| |
| } |
| |
| @Target(AnnotationTarget.TYPE) |
| annotation class Ann |
| |
| fun baz(): @Ann <!REPEATED_ANNOTATION!>@Ann<!> String = "12" |
| fun qux() = Some.foo()[0] |
| |
| fun test() { |
| foo({ Some.foo()[0] }) |
| foo({ baz() }) |
| foo({ qux() }) |
| foo(fun(): @Ann <!REPEATED_ANNOTATION!>@Ann<!> String { |
| return "" |
| }) |
| } |
| |
| /* GENERATED_FIR_TAGS: annotationDeclaration, anonymousFunction, flexibleType, functionDeclaration, functionalType, |
| integerLiteral, javaFunction, lambdaLiteral, nullableType, stringLiteral, typeParameter */ |