aboutsummaryrefslogtreecommitdiff
path: root/test-utils/testData/api/libOrigins.kt
diff options
context:
space:
mode:
Diffstat (limited to 'test-utils/testData/api/libOrigins.kt')
-rw-r--r--test-utils/testData/api/libOrigins.kt338
1 files changed, 338 insertions, 0 deletions
diff --git a/test-utils/testData/api/libOrigins.kt b/test-utils/testData/api/libOrigins.kt
new file mode 100644
index 00000000..719b4810
--- /dev/null
+++ b/test-utils/testData/api/libOrigins.kt
@@ -0,0 +1,338 @@
+/*
+ * 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.
+ */
+
+// TEST PROCESSOR: LibOriginsProcessor
+// EXPECTED:
+// annotation: Anno1: KOTLIN_LIB
+// annotation: Anno2: JAVA_LIB
+// annotation: Anno3: KOTLIN
+// annotation: Anno4: JAVA
+// classifier ref: Anno1: KOTLIN_LIB
+// classifier ref: Anno1: KOTLIN_LIB
+// classifier ref: Anno2: JAVA_LIB
+// classifier ref: Anno2: KOTLIN_LIB
+// classifier ref: Anno3: KOTLIN
+// classifier ref: Anno3: KOTLIN_LIB
+// classifier ref: Anno4: JAVA
+// classifier ref: Anno4: KOTLIN_LIB
+// classifier ref: Annotation: KOTLIN_LIB
+// classifier ref: Annotation: KOTLIN_LIB
+// classifier ref: Annotation: KOTLIN_LIB
+// classifier ref: Annotation: KOTLIN_LIB
+// classifier ref: Any: JAVA_LIB
+// classifier ref: Any: JAVA_LIB
+// classifier ref: Any: JAVA_LIB
+// classifier ref: Any: KOTLIN_LIB
+// classifier ref: Any: KOTLIN_LIB
+// classifier ref: Any: KOTLIN_LIB
+// classifier ref: ArrayList<(T2..T2?)>: JAVA_LIB
+// classifier ref: Byte: JAVA_LIB
+// classifier ref: Byte: JAVA_LIB
+// classifier ref: Byte: JAVA_LIB
+// classifier ref: Int: KOTLIN_LIB
+// classifier ref: Int: KOTLIN_LIB
+// classifier ref: Int: KOTLIN_LIB
+// classifier ref: Int: KOTLIN_LIB
+// classifier ref: Int: KOTLIN_LIB
+// classifier ref: Int: KOTLIN_LIB
+// classifier ref: Int: KOTLIN_LIB
+// classifier ref: Int: KOTLIN_LIB
+// classifier ref: Int: KOTLIN_LIB
+// classifier ref: Int: KOTLIN_LIB
+// classifier ref: Int: KOTLIN_LIB
+// classifier ref: Int: KOTLIN_LIB
+// classifier ref: JavaLib: JAVA_LIB
+// classifier ref: JavaLib: JAVA_LIB
+// classifier ref: JavaLib: JAVA_LIB
+// classifier ref: JavaLib<T2>: JAVA_LIB
+// classifier ref: KotlinLibClass: KOTLIN_LIB
+// classifier ref: KotlinLibClass: KOTLIN_LIB
+// classifier ref: KotlinLibClass: KOTLIN_LIB
+// classifier ref: KotlinLibClass: KOTLIN_LIB
+// classifier ref: KotlinLibClass: KOTLIN_LIB
+// classifier ref: KotlinLibClass: KOTLIN_LIB
+// classifier ref: KotlinLibClass<T1>: KOTLIN_LIB
+// classifier ref: KotlinSrcClass: SYNTHETIC
+// classifier ref: List<Int>: KOTLIN_LIB
+// classifier ref: List<T1>: KOTLIN_LIB
+// classifier ref: List<T1>: KOTLIN_LIB
+// classifier ref: List<T1>: KOTLIN_LIB
+// classifier ref: List<T1>: KOTLIN_LIB
+// classifier ref: Long: JAVA
+// classifier ref: Long: JAVA
+// classifier ref: Long: JAVA
+// classifier ref: Object: JAVA
+// classifier ref: Set: KOTLIN
+// classifier ref: Set: KOTLIN
+// classifier ref: Set: KOTLIN
+// classifier ref: Set: KOTLIN
+// classifier ref: Set<T3>: SYNTHETIC
+// classifier ref: Short: KOTLIN
+// classifier ref: Short: KOTLIN
+// classifier ref: Short: KOTLIN
+// classifier ref: Short: KOTLIN
+// classifier ref: Short: KOTLIN
+// classifier ref: Short: KOTLIN
+// classifier ref: Short: KOTLIN
+// classifier ref: Short: KOTLIN
+// classifier ref: Short: KOTLIN
+// classifier ref: Short: SYNTHETIC
+// classifier ref: Short: SYNTHETIC
+// classifier ref: Short: SYNTHETIC
+// classifier ref: T1: KOTLIN_LIB
+// classifier ref: T1: KOTLIN_LIB
+// classifier ref: T1: KOTLIN_LIB
+// classifier ref: T1: KOTLIN_LIB
+// classifier ref: T1: KOTLIN_LIB
+// classifier ref: T1: KOTLIN_LIB
+// classifier ref: T2: JAVA_LIB
+// classifier ref: T2: JAVA_LIB
+// classifier ref: T2: JAVA_LIB
+// classifier ref: T3: KOTLIN
+// classifier ref: T3: KOTLIN
+// classifier ref: T3: KOTLIN
+// classifier ref: T3: KOTLIN
+// classifier ref: T3: SYNTHETIC
+// classifier ref: T4: JAVA
+// classifier ref: T4: JAVA
+// declaration: <init>: KOTLIN
+// declaration: foo.bar.Anno1.<init>: KOTLIN_LIB
+// declaration: foo.bar.Anno1: KOTLIN_LIB
+// declaration: foo.bar.Anno2.<init>: KOTLIN_LIB
+// declaration: foo.bar.Anno2: KOTLIN_LIB
+// declaration: foo.bar.Anno3.<init>: KOTLIN_LIB
+// declaration: foo.bar.Anno3: KOTLIN_LIB
+// declaration: foo.bar.Anno4.<init>: KOTLIN_LIB
+// declaration: foo.bar.Anno4: KOTLIN_LIB
+// declaration: foo.bar.JavaLib.<init>: JAVA_LIB
+// declaration: foo.bar.JavaLib.T2: JAVA_LIB
+// declaration: foo.bar.JavaLib.T2: JAVA_LIB
+// declaration: foo.bar.JavaLib.f1: JAVA_LIB
+// declaration: foo.bar.JavaLib.javaLibField: JAVA_LIB
+// declaration: foo.bar.JavaLib.javaLibFunction: JAVA_LIB
+// declaration: foo.bar.JavaLib: JAVA_LIB
+// declaration: foo.bar.JavaSrc.<init>: SYNTHETIC
+// declaration: foo.bar.JavaSrc.LinkedList: JAVA
+// declaration: foo.bar.JavaSrc.f2: JAVA
+// declaration: foo.bar.JavaSrc.javaSrcField: JAVA
+// declaration: foo.bar.JavaSrc.javaSrcFunction: JAVA
+// declaration: foo.bar.JavaSrc.p0: JAVA
+// declaration: foo.bar.JavaSrc: JAVA
+// declaration: foo.bar.KotlinLibClass.<init>: KOTLIN_LIB
+// declaration: foo.bar.KotlinLibClass.T1: KOTLIN_LIB
+// declaration: foo.bar.KotlinLibClass.T1: KOTLIN_LIB
+// declaration: foo.bar.KotlinLibClass.f1: KOTLIN_LIB
+// declaration: foo.bar.KotlinLibClass.f2: KOTLIN_LIB
+// declaration: foo.bar.KotlinLibClass.f3: KOTLIN_LIB
+// declaration: foo.bar.KotlinLibClass.p1: KOTLIN_LIB
+// declaration: foo.bar.KotlinLibClass.p2: KOTLIN_LIB
+// declaration: foo.bar.KotlinLibClass.p3: KOTLIN_LIB
+// declaration: foo.bar.KotlinLibClass: KOTLIN_LIB
+// declaration: foo.bar.KotlinSrcClass.T3: KOTLIN
+// declaration: foo.bar.KotlinSrcClass.g1: KOTLIN
+// declaration: foo.bar.KotlinSrcClass.g2: KOTLIN
+// declaration: foo.bar.KotlinSrcClass.g3: KOTLIN
+// declaration: foo.bar.KotlinSrcClass.q1: KOTLIN
+// declaration: foo.bar.KotlinSrcClass.q2: KOTLIN
+// declaration: foo.bar.KotlinSrcClass.q3: KOTLIN
+// declaration: foo.bar.KotlinSrcClass: KOTLIN
+// declaration: foo.bar.kotlinLibFuntion: KOTLIN_LIB
+// declaration: foo.bar.kotlinLibProperty: KOTLIN_LIB
+// declaration: foo.bar.kotlinSrcFuntion: KOTLIN
+// declaration: foo.bar.kotlinSrcProperty: KOTLIN
+// property accessor: kotlinLibProperty.getter(): KOTLIN_LIB
+// property accessor: kotlinSrcProperty.getter(): SYNTHETIC
+// property accessor: p1.getter(): KOTLIN_LIB
+// property accessor: p2.getter(): KOTLIN_LIB
+// property accessor: p3.getter(): KOTLIN_LIB
+// property accessor: q1.getter(): SYNTHETIC
+// property accessor: q2.getter(): SYNTHETIC
+// property accessor: q3.getter(): SYNTHETIC
+// reference: Anno1: KOTLIN_LIB
+// reference: Anno1: KOTLIN_LIB
+// reference: Anno2: JAVA_LIB
+// reference: Anno2: KOTLIN_LIB
+// reference: Anno3: KOTLIN
+// reference: Anno3: KOTLIN_LIB
+// reference: Anno4: JAVA
+// reference: Anno4: KOTLIN_LIB
+// reference: Annotation: KOTLIN_LIB
+// reference: Annotation: KOTLIN_LIB
+// reference: Annotation: KOTLIN_LIB
+// reference: Annotation: KOTLIN_LIB
+// reference: Any: JAVA_LIB
+// reference: Any: JAVA_LIB
+// reference: Any: JAVA_LIB
+// reference: Any: KOTLIN_LIB
+// reference: Any: KOTLIN_LIB
+// reference: Any: KOTLIN_LIB
+// reference: Any: SYNTHETIC
+// reference: Any?: SYNTHETIC
+// reference: ArrayList<(T2..T2?)>: JAVA_LIB
+// reference: Byte: JAVA_LIB
+// reference: Byte: JAVA_LIB
+// reference: Byte: JAVA_LIB
+// reference: Int: KOTLIN_LIB
+// reference: Int: KOTLIN_LIB
+// reference: Int: KOTLIN_LIB
+// reference: Int: KOTLIN_LIB
+// reference: Int: KOTLIN_LIB
+// reference: Int: KOTLIN_LIB
+// reference: Int: KOTLIN_LIB
+// reference: Int: KOTLIN_LIB
+// reference: Int: KOTLIN_LIB
+// reference: Int: KOTLIN_LIB
+// reference: Int: KOTLIN_LIB
+// reference: Int: KOTLIN_LIB
+// reference: JavaLib<T2>: JAVA_LIB
+// reference: JavaSrc: SYNTHETIC
+// reference: KotlinLibClass<T1>: KOTLIN_LIB
+// reference: KotlinSrcClass<T3>: KOTLIN
+// reference: List<Int>: KOTLIN_LIB
+// reference: List<T1>: KOTLIN_LIB
+// reference: List<T1>: KOTLIN_LIB
+// reference: List<T1>: KOTLIN_LIB
+// reference: List<T1>: KOTLIN_LIB
+// reference: Long: JAVA
+// reference: Long: JAVA
+// reference: Long: JAVA
+// reference: Object: JAVA
+// reference: Set: KOTLIN
+// reference: Set: KOTLIN
+// reference: Set: KOTLIN
+// reference: Set: KOTLIN
+// reference: Set<T3>: SYNTHETIC
+// reference: Short: KOTLIN
+// reference: Short: KOTLIN
+// reference: Short: KOTLIN
+// reference: Short: KOTLIN
+// reference: Short: KOTLIN
+// reference: Short: KOTLIN
+// reference: Short: KOTLIN
+// reference: Short: KOTLIN
+// reference: Short: KOTLIN
+// reference: Short: SYNTHETIC
+// reference: Short: SYNTHETIC
+// reference: Short: SYNTHETIC
+// reference: T1: KOTLIN_LIB
+// reference: T1: KOTLIN_LIB
+// reference: T1: KOTLIN_LIB
+// reference: T1: KOTLIN_LIB
+// reference: T1: KOTLIN_LIB
+// reference: T1: KOTLIN_LIB
+// reference: T2: JAVA_LIB
+// reference: T2: JAVA_LIB
+// reference: T2: JAVA_LIB
+// reference: T3: KOTLIN
+// reference: T3: KOTLIN
+// reference: T3: KOTLIN
+// reference: T3: KOTLIN
+// reference: T3: SYNTHETIC
+// reference: T4: JAVA
+// reference: T4: JAVA
+// type arg: INVARIANT Int: KOTLIN_LIB
+// type arg: INVARIANT Short: KOTLIN
+// type arg: INVARIANT T1: KOTLIN_LIB
+// type arg: INVARIANT T1: KOTLIN_LIB
+// type arg: INVARIANT T1: KOTLIN_LIB
+// type arg: INVARIANT T1: KOTLIN_LIB
+// type arg: INVARIANT T1: KOTLIN_LIB
+// type arg: INVARIANT T2: JAVA_LIB
+// type arg: INVARIANT T2: JAVA_LIB
+// type arg: INVARIANT T3: KOTLIN
+// type arg: INVARIANT T3: KOTLIN
+// type arg: INVARIANT T3: KOTLIN
+// type arg: INVARIANT T3: SYNTHETIC
+// value param: p0: JAVA_LIB
+// value param: p1: JAVA_LIB
+// value param: p1: KOTLIN_LIB
+// value param: p2: KOTLIN_LIB
+// value param: p4: KOTLIN_LIB
+// value param: p5: KOTLIN_LIB
+// value param: p6: KOTLIN_LIB
+// value param: q1: KOTLIN
+// value param: q2: KOTLIN
+// value param: q4: KOTLIN
+// value param: q5: KOTLIN
+// value param: q6: KOTLIN
+// END
+// MODULE: module1
+// FILE: KotlinLib.kt
+package foo.bar
+
+val kotlinLibProperty: Int = 0
+fun kotlinLibFuntion(): Int = 0
+
+annotation class Anno1
+annotation class Anno2
+annotation class Anno3
+annotation class Anno4
+
+@Anno1
+class KotlinLibClass<T1>(val p1: List<T1>, val p2: Int) {
+ val p3: Int = 0
+ fun f1(p4: T1): Int = 0
+ fun f2(p5: List<T1>): Int = 0
+ fun f3(p6: List<Int>): Int = 0
+}
+
+// FILE: JavaLib.java
+package foo.bar;
+
+import java.util.ArrayList;
+
+@Anno2
+class JavaLib<T2> {
+ Byte javaLibField = 0;
+ Byte javaLibFunction() {
+ return 0;
+ }
+ Byte f1(T2 p0, ArrayList<T2> p1) {
+ return 0;
+ }
+}
+
+// MODULE: main(module1)
+// FILE: KotlinSrc.kt
+package foo.bar
+val kotlinSrcProperty: Short = 0
+fun kotlinSrcFuntion(): Short = 0
+
+@Anno3
+class KotlinSrcClass<T3>(val q1: Set<T3>, val q2: Short) {
+ val q3: Short = 0
+ fun g1(q4: T3): Short = 0
+ fun g2(q5: Set<T3>): Short = 0
+ fun g3(q6: Set<Short>): Short = 0
+}
+
+// FILE: JavaSrc.java
+package foo.bar;
+
+import java.util.LinkedList;
+
+@Anno4
+class JavaSrc {
+ Long javaSrcField = 0;
+ Long javaSrcFunction() {
+ return 0;
+ }
+ Long f2<T4>(T4 p0, LinkedList<T4> p1) {
+ return 0;
+ }
+}
+