xref: /aosp_15_r20/external/ksp/test-utils/testData/api/declarationOrder.kt (revision af87fb4bb8e3042070d2a054e912924f599b22b7)
1 /*
2  * Copyright 2022 Google LLC
3  * Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors.
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  */
17 
18 // WITH_RUNTIME
19 // TEST PROCESSOR: DeclarationOrderProcessor
20 // EXPECTED:
21 // lib.KotlinClass
22 // b:Ljava/lang/String;
23 // a:Ljava/lang/String;
24 // c:Ljava/lang/String;
25 // isB:Ljava/lang/String;
26 // isA:Ljava/lang/String;
27 // isC:Ljava/lang/String;
28 // noBackingB:Ljava/lang/String;
29 // noBackingA:Ljava/lang/String;
30 // noBackingC:Ljava/lang/String;
31 // noBackingVarB:Ljava/lang/String;
32 // noBackingVarA:Ljava/lang/String;
33 // noBackingVarC:Ljava/lang/String;
34 // overloaded:(Ljava/lang/String;)Ljava/lang/String;
35 // overloaded:(I)Ljava/lang/String;
36 // overloaded:()Ljava/lang/String;
37 // overloaded:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
38 // <init>:()V
39 // lib.JavaClass
40 // b:Ljava/lang/String;
41 // a:Ljava/lang/String;
42 // c:Ljava/lang/String;
43 // overloaded:(Ljava/lang/String;)V
44 // overloaded:(I)V
45 // overloaded:()V
46 // overloaded:(Ljava/lang/String;Ljava/lang/String;)V
47 // <init>:()V
48 // KotlinClass
49 // b:Ljava/lang/String;
50 // a:Ljava/lang/String;
51 // c:Ljava/lang/String;
52 // isB:Ljava/lang/String;
53 // isA:Ljava/lang/String;
54 // isC:Ljava/lang/String;
55 // noBackingB:Ljava/lang/String;
56 // noBackingA:Ljava/lang/String;
57 // noBackingC:Ljava/lang/String;
58 // noBackingVarB:Ljava/lang/String;
59 // noBackingVarA:Ljava/lang/String;
60 // noBackingVarC:Ljava/lang/String;
61 // overloaded:(Ljava/lang/String;)Ljava/lang/String;
62 // overloaded:(I)Ljava/lang/String;
63 // overloaded:()Ljava/lang/String;
64 // overloaded:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
65 // <init>:()V
66 // JavaClass
67 // b:Ljava/lang/String;
68 // a:Ljava/lang/String;
69 // c:Ljava/lang/String;
70 // overloaded:(Ljava/lang/String;)V
71 // overloaded:(I)V
72 // overloaded:()V
73 // overloaded:(Ljava/lang/String;Ljava/lang/String;)V
74 // <init>:()V
75 // END
76 // MODULE: module1
77 // FILE: lib/KotlinClass.kt
78 package lib;
79 class KotlinClass {
80     val b: String = TODO()
81     val a: String = TODO()
82     val c: String = TODO()
83     val isB:String = TODO()
84     val isA:String = TODO()
85     val isC:String = TODO()
86     val noBackingB: String
87         get() = ""
88     val noBackingA: String
89         get() = ""
90     val noBackingC: String
91         get() = ""
92     var noBackingVarB: String
93         get() = ""
94         set(value) {}
95     var noBackingVarA: String
96         get() = ""
97         set(value) {}
98     var noBackingVarC: String
99         get() = ""
100         set(value) {}
overloadednull101     fun overloaded(x:String): String = TODO()
102     fun overloaded(x:Int): String = TODO()
103     fun overloaded(): String = TODO()
104     fun overloaded(x:String, y:String): String = TODO()
105 }
106 // FILE: lib/JavaClass.java
107 package lib;
108 public class JavaClass {
109     // notice the non alphabetic order, which is triggering the problem
110     String b = "";
111     String a = "";
112     String c = "";
113     void overloaded(String x) {}
114     void overloaded(int x) {}
115     void overloaded() {}
116     void overloaded(String x, String y) {}
117 }
118 // MODULE: main(module1)
119 // FILE: main.kt
120 class KotlinClass {
121     val b: String? = TODO()
122     val a: String = TODO()
123     val c: String? = TODO()
124     val isB:String = TODO()
125     val isA:String = TODO()
126     val isC:String = TODO()
127     val noBackingB: String
128         get() = ""
129     val noBackingA: String
130         get() = ""
131     val noBackingC: String
132         get() = ""
133     var noBackingVarB: String
134         get() = ""
135         set(value) {}
136     var noBackingVarA: String
137         get() = ""
138         set(value) {}
139     var noBackingVarC: String
140         get() = ""
141         set(value) {}
overloadednull142     fun overloaded(x:String): String = TODO()
143     fun overloaded(x:Int): String = TODO()
144     fun overloaded(): String = TODO()
145     fun overloaded(x:String, y:String): String = TODO()
146 }
147 // FILE: JavaClass.java
148 public class JavaClass {
149     String b = "";
150     String a = "";
151     String c = "";
152     void overloaded(String x) {}
153     void overloaded(int x) {}
154     void overloaded() {}
155     void overloaded(String x, String y) {}
156 }
157