1*af87fb4bSXin Li /* 2*af87fb4bSXin Li * Copyright 2020 Google LLC 3*af87fb4bSXin Li * Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors. 4*af87fb4bSXin Li * 5*af87fb4bSXin Li * Licensed under the Apache License, Version 2.0 (the "License"); 6*af87fb4bSXin Li * you may not use this file except in compliance with the License. 7*af87fb4bSXin Li * You may obtain a copy of the License at 8*af87fb4bSXin Li * 9*af87fb4bSXin Li * http://www.apache.org/licenses/LICENSE-2.0 10*af87fb4bSXin Li * 11*af87fb4bSXin Li * Unless required by applicable law or agreed to in writing, software 12*af87fb4bSXin Li * distributed under the License is distributed on an "AS IS" BASIS, 13*af87fb4bSXin Li * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14*af87fb4bSXin Li * See the License for the specific language governing permissions and 15*af87fb4bSXin Li * limitations under the License. 16*af87fb4bSXin Li */ 17*af87fb4bSXin Li // TEST PROCESSOR: AnnotationArrayValueProcessor 18*af87fb4bSXin Li // EXPECTED: 19*af87fb4bSXin Li // KotlinAnnotated 20*af87fb4bSXin Li // KotlinAnnotation -> 21*af87fb4bSXin Li // stringArray = [a, b, null, c] 22*af87fb4bSXin Li // classArray = [Any, List<*>] 23*af87fb4bSXin Li // JavaAnnotation -> 24*af87fb4bSXin Li // stringArray = [x, y, null, z] 25*af87fb4bSXin Li // classArray = [String, Long] 26*af87fb4bSXin Li // JavaAnnotated 27*af87fb4bSXin Li // KotlinAnnotation -> 28*af87fb4bSXin Li // stringArray = [j-a, j-b, null, j-c] 29*af87fb4bSXin Li // classArray = [Object, List<*>] 30*af87fb4bSXin Li // JavaAnnotation -> 31*af87fb4bSXin Li // stringArray = [j-x, j-y, null, j-z] 32*af87fb4bSXin Li // classArray = [Integer, Character] 33*af87fb4bSXin Li // END 34*af87fb4bSXin Li // FILE: a.kt 35*af87fb4bSXin Li 36*af87fb4bSXin Li annotation class KotlinAnnotation(val stringArray: Array<String?>, val classArray: Array<KClass<*>?>) 37*af87fb4bSXin Li 38*af87fb4bSXin Li @KotlinAnnotation( 39*af87fb4bSXin Li stringArray = ["a", "b", null, "c"], 40*af87fb4bSXin Li classArray = [Any::class, List::class] 41*af87fb4bSXin Li ) 42*af87fb4bSXin Li @JavaAnnotation( 43*af87fb4bSXin Li stringArray = ["x", "y", null, "z"], 44*af87fb4bSXin Li classArray = [String::class, Long::class] 45*af87fb4bSXin Li ) 46*af87fb4bSXin Li class KotlinAnnotated 47*af87fb4bSXin Li 48*af87fb4bSXin Li // FILE: JavaAnnotation.java 49*af87fb4bSXin Li public @interface JavaAnnotation { 50*af87fb4bSXin Li String[] stringArray(); 51*af87fb4bSXin Li Class[] classArray(); 52*af87fb4bSXin Li } 53*af87fb4bSXin Li 54*af87fb4bSXin Li // FILE: JavaAnnotated.java 55*af87fb4bSXin Li import java.util.*; 56*af87fb4bSXin Li @KotlinAnnotation( 57*af87fb4bSXin Li stringArray = {"j-a", "j-b", null, "j-c"}, 58*af87fb4bSXin Li classArray = {Object.class, List.class} 59*af87fb4bSXin Li ) 60*af87fb4bSXin Li @JavaAnnotation( 61*af87fb4bSXin Li stringArray = {"j-x", "j-y", null, "j-z"}, 62*af87fb4bSXin Li classArray = {Integer.class, Character.class} 63*af87fb4bSXin Li ) 64*af87fb4bSXin Li public class JavaAnnotated { 65*af87fb4bSXin Li } 66