aboutsummaryrefslogtreecommitdiff
path: root/test-utils/testData/api/declarationOrder.kt
diff options
context:
space:
mode:
Diffstat (limited to 'test-utils/testData/api/declarationOrder.kt')
-rw-r--r--test-utils/testData/api/declarationOrder.kt156
1 files changed, 156 insertions, 0 deletions
diff --git a/test-utils/testData/api/declarationOrder.kt b/test-utils/testData/api/declarationOrder.kt
new file mode 100644
index 00000000..7de65a23
--- /dev/null
+++ b/test-utils/testData/api/declarationOrder.kt
@@ -0,0 +1,156 @@
+/*
+ * Copyright 2022 Google LLC
+ * Copyright 2010-2022 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: DeclarationOrderProcessor
+// EXPECTED:
+// lib.KotlinClass
+// b:Ljava/lang/String;
+// a:Ljava/lang/String;
+// c:Ljava/lang/String;
+// isB:Ljava/lang/String;
+// isA:Ljava/lang/String;
+// isC:Ljava/lang/String;
+// noBackingB:Ljava/lang/String;
+// noBackingA:Ljava/lang/String;
+// noBackingC:Ljava/lang/String;
+// noBackingVarB:Ljava/lang/String;
+// noBackingVarA:Ljava/lang/String;
+// noBackingVarC:Ljava/lang/String;
+// overloaded:(Ljava/lang/String;)Ljava/lang/String;
+// overloaded:(I)Ljava/lang/String;
+// overloaded:()Ljava/lang/String;
+// overloaded:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
+// <init>:()V
+// lib.JavaClass
+// b:Ljava/lang/String;
+// a:Ljava/lang/String;
+// c:Ljava/lang/String;
+// overloaded:(Ljava/lang/String;)V
+// overloaded:(I)V
+// overloaded:()V
+// overloaded:(Ljava/lang/String;Ljava/lang/String;)V
+// <init>:()V
+// KotlinClass
+// b:Ljava/lang/String;
+// a:Ljava/lang/String;
+// c:Ljava/lang/String;
+// isB:Ljava/lang/String;
+// isA:Ljava/lang/String;
+// isC:Ljava/lang/String;
+// noBackingB:Ljava/lang/String;
+// noBackingA:Ljava/lang/String;
+// noBackingC:Ljava/lang/String;
+// noBackingVarB:Ljava/lang/String;
+// noBackingVarA:Ljava/lang/String;
+// noBackingVarC:Ljava/lang/String;
+// overloaded:(Ljava/lang/String;)Ljava/lang/String;
+// overloaded:(I)Ljava/lang/String;
+// overloaded:()Ljava/lang/String;
+// overloaded:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
+// <init>:()V
+// JavaClass
+// b:Ljava/lang/String;
+// a:Ljava/lang/String;
+// c:Ljava/lang/String;
+// overloaded:(Ljava/lang/String;)V
+// overloaded:(I)V
+// overloaded:()V
+// overloaded:(Ljava/lang/String;Ljava/lang/String;)V
+// <init>:()V
+// END
+// MODULE: module1
+// FILE: lib/KotlinClass.kt
+package lib;
+class KotlinClass {
+ val b: String = TODO()
+ val a: String = TODO()
+ val c: String = TODO()
+ val isB:String = TODO()
+ val isA:String = TODO()
+ val isC:String = TODO()
+ val noBackingB: String
+ get() = ""
+ val noBackingA: String
+ get() = ""
+ val noBackingC: String
+ get() = ""
+ var noBackingVarB: String
+ get() = ""
+ set(value) {}
+ var noBackingVarA: String
+ get() = ""
+ set(value) {}
+ var noBackingVarC: String
+ get() = ""
+ set(value) {}
+ fun overloaded(x:String): String = TODO()
+ fun overloaded(x:Int): String = TODO()
+ fun overloaded(): String = TODO()
+ fun overloaded(x:String, y:String): String = TODO()
+}
+// FILE: lib/JavaClass.java
+package lib;
+public class JavaClass {
+ // notice the non alphabetic order, which is triggering the problem
+ String b = "";
+ String a = "";
+ String c = "";
+ void overloaded(String x) {}
+ void overloaded(int x) {}
+ void overloaded() {}
+ void overloaded(String x, String y) {}
+}
+// MODULE: main(module1)
+// FILE: main.kt
+class KotlinClass {
+ val b: String? = TODO()
+ val a: String = TODO()
+ val c: String? = TODO()
+ val isB:String = TODO()
+ val isA:String = TODO()
+ val isC:String = TODO()
+ val noBackingB: String
+ get() = ""
+ val noBackingA: String
+ get() = ""
+ val noBackingC: String
+ get() = ""
+ var noBackingVarB: String
+ get() = ""
+ set(value) {}
+ var noBackingVarA: String
+ get() = ""
+ set(value) {}
+ var noBackingVarC: String
+ get() = ""
+ set(value) {}
+ fun overloaded(x:String): String = TODO()
+ fun overloaded(x:Int): String = TODO()
+ fun overloaded(): String = TODO()
+ fun overloaded(x:String, y:String): String = TODO()
+}
+// FILE: JavaClass.java
+public class JavaClass {
+ String b = "";
+ String a = "";
+ String c = "";
+ void overloaded(String x) {}
+ void overloaded(int x) {}
+ void overloaded() {}
+ void overloaded(String x, String y) {}
+}