aboutsummaryrefslogtreecommitdiff
path: root/test-utils/testData/api/annotationValue_java.kt
diff options
context:
space:
mode:
Diffstat (limited to 'test-utils/testData/api/annotationValue_java.kt')
-rw-r--r--test-utils/testData/api/annotationValue_java.kt77
1 files changed, 77 insertions, 0 deletions
diff --git a/test-utils/testData/api/annotationValue_java.kt b/test-utils/testData/api/annotationValue_java.kt
new file mode 100644
index 00000000..448ea5e0
--- /dev/null
+++ b/test-utils/testData/api/annotationValue_java.kt
@@ -0,0 +1,77 @@
+/*
+ * Copyright 2020 Google LLC
+ * Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// WITH_RUNTIME
+// TEST PROCESSOR: AnnotationArgumentProcessor
+// EXPECTED:
+// Str
+// 42
+// Foo
+// File
+// Error type synthetic declaration
+// Array
+// @Foo
+// @Suppress
+// G
+// ONE
+// 31
+// [warning1, warning 2]
+// END
+// FILE: a.kt
+
+enum class RGB {
+ R, G, B
+}
+
+annotation class Foo(val s: Int)
+
+annotation class Bar(
+ val argStr: String,
+ val argInt: Int,
+ val argClsUser: kotlin.reflect.KClass<*>,
+ val argClsLib: kotlin.reflect.KClass<*>,
+ val argClsLocal: kotlin.reflect.KClass<*>,
+ val argClsArray: kotlin.reflect.KClass<*>,
+ val argAnnoUser: Foo,
+ val argAnnoLib: Suppress,
+ val argEnum: RGB,
+ val argJavaNum: JavaEnum,
+ val argDef: Int = 31
+)
+
+// FILE: C.java
+
+@SuppressWarnings({"warning1", "warning 2"})
+class C {
+
+}
+// FILE: JavaAnnotated.java
+@Bar(argStr = "Str",
+ argInt = 40 + 2,
+ argClsUser = Foo.class,
+ argClsLib = java.io.File.class,
+ argClsLocal = Local.class, // intentional error type
+ argClsArray = kotlin.Array.class,
+ argAnnoUser = @Foo(s = 17),
+ argAnnoLib = @Suppress(names = {"name1", "name2"}),
+ argEnum = RGB.G,
+ argJavaNum = JavaEnum.ONE)
+public class JavaAnnotated {}
+
+// FILE: JavaEnum.java
+
+enum JavaEnum { ONE, TWO, THREE }