xref: /aosp_15_r20/external/ksp/test-utils/testData/api/topLevelMembers.kt (revision af87fb4bb8e3042070d2a054e912924f599b22b7)
1 /*
2  * Copyright 2020 Google LLC
3  * Copyright 2010-2020 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: TopLevelMemberProcessor
20 // EXPECTED:
21 // lib : <init> -> lib.LibJavaClass
22 // lib : <init> -> lib.RealLibClass
23 // lib : <init> -> lib.RealLibClass$Companion
24 // lib : functionInLib -> lib.LibKt
25 // lib : functionInLibCompanion -> lib.RealLibClass$Companion
26 // lib : functionInLibJvmName -> lib.LibCustomClassName
27 // lib : functionInLibRealClass -> lib.RealLibClass
28 // lib : javaFieldInLib -> lib.LibJavaClass
29 // lib : javaMethodInLib -> lib.LibJavaClass
30 // lib : jvmStaticFunctionInLibCompanion -> lib.RealLibClass$Companion
31 // lib : jvmStaticValueInLibCompanion -> lib.RealLibClass$Companion
32 // lib : jvmStaticVariableInLibCompanion -> lib.RealLibClass$Companion
33 // lib : valueInLib -> lib.LibKt
34 // lib : valueInLibCompanion -> lib.RealLibClass$Companion
35 // lib : valueInLibJvmName -> lib.LibCustomClassName
36 // lib : valueInLibRealClass -> lib.RealLibClass
37 // lib : variableInLib -> lib.LibKt
38 // lib : variableInLibCompanion -> lib.RealLibClass$Companion
39 // lib : variableInLibJvmName -> lib.LibCustomClassName
40 // lib : variableInLibRealClass -> lib.RealLibClass
41 // main : <init> -> main.MainJavaClass
42 // main : <init> -> main.RealMainClass
43 // main : <init> -> main.RealMainClass$Companion
44 // main : functionInMain -> main.MainKt
45 // main : functionInMainCompanion -> main.RealMainClass$Companion
46 // main : functionInMainJvmName -> main.MainCustomClassName
47 // main : functionInMainRealClass -> main.RealMainClass
48 // main : javaFieldInMain -> main.MainJavaClass
49 // main : javaMethodInMain -> main.MainJavaClass
50 // main : jvmStaticFunctionInMainCompanion -> main.RealMainClass$Companion
51 // main : jvmStaticValueInMainCompanion -> main.RealMainClass$Companion
52 // main : jvmStaticVariableInMainCompanion -> main.RealMainClass$Companion
53 // main : valueInMain -> main.MainKt
54 // main : valueInMainCompanion -> main.RealMainClass$Companion
55 // main : valueInMainJvmName -> main.MainCustomClassName
56 // main : valueInMainRealClass -> main.RealMainClass
57 // main : variableInMain -> main.MainKt
58 // main : variableInMainCompanion -> main.RealMainClass$Companion
59 // main : variableInMainJvmName -> main.MainCustomClassName
60 // main : variableInMainRealClass -> main.RealMainClass
61 // END
62 
63 // MODULE: lib
64 // FILE: lib.kt
65 package lib
functionInLibnull66 fun functionInLib() {}
67 val valueInLib: String = ""
68 var variableInLib: String = ""
69 class RealLibClass {
functionInLibRealClassnull70     fun functionInLibRealClass() {}
71     val valueInLibRealClass: String = ""
72     var variableInLibRealClass: String = ""
73 
74     companion object {
functionInLibCompanionnull75         fun functionInLibCompanion() {}
76         val valueInLibCompanion: String = ""
77         var variableInLibCompanion: String = ""
78         @JvmStatic
jvmStaticFunctionInLibCompanionnull79         fun jvmStaticFunctionInLibCompanion() {}
80         @JvmStatic
81         val jvmStaticValueInLibCompanion: String = ""
82         @JvmStatic
83         var jvmStaticVariableInLibCompanion: String = ""
84     }
85 }
86 // FILE: customName.kt
87 @file:JvmName("LibCustomClassName")
88 package lib
functionInLibJvmNamenull89 fun functionInLibJvmName() {}
90 val valueInLibJvmName: String = ""
91 var variableInLibJvmName: String = ""
92 
93 // FILE: lib/LibJavaClass.java
94 package lib;
95 public class LibJavaClass {
96     public LibJavaClass() {}
97     private String javaFieldInLib;
<lambda>null98     private void javaMethodInLib() {
99     }
100 }
101 
102 // MODULE: main(lib)
103 // FILE: main.kt
104 package main
functionInMainnull105 fun functionInMain() {}
106 val valueInMain: String = ""
107 var variableInMain: String = ""
108 class RealMainClass {
functionInMainRealClassnull109     fun functionInMainRealClass() {}
110     val valueInMainRealClass: String = ""
111     var variableInMainRealClass: String = ""
112 
113     companion object {
functionInMainCompanionnull114         fun functionInMainCompanion() {}
115         val valueInMainCompanion: String = ""
116         var variableInMainCompanion: String = ""
117         @JvmStatic
jvmStaticFunctionInMainCompanionnull118         fun jvmStaticFunctionInMainCompanion() {}
119         @JvmStatic
120         val jvmStaticValueInMainCompanion: String = ""
121         @JvmStatic
122         var jvmStaticVariableInMainCompanion: String = ""
123     }
124 }
125 // FILE: customName.kt
126 @file:JvmName("MainCustomClassName")
127 package main
functionInMainJvmNamenull128 fun functionInMainJvmName() {}
129 val valueInMainJvmName: String = ""
130 var variableInMainJvmName: String = ""
131 // FILE: main/MainJavaClass.java
132 package main;
133 public class MainJavaClass {
134     public MainJavaClass() {}
135     private String javaFieldInMain;
<lambda>null136     private void javaMethodInMain() {
137     }
138 }
139