xref: /aosp_15_r20/external/ksp/test-utils/testData/api/topLevelMembers.kt (revision af87fb4bb8e3042070d2a054e912924f599b22b7)
1*af87fb4bSXin Li /*
2*af87fb4bSXin Li  * Copyright 2020 Google LLC
3*af87fb4bSXin Li  * Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors.
4*af87fb4bSXin Li  *
5*af87fb4bSXin Li  * Licensed under the Apache License, Version 2.0 (the "License");
6*af87fb4bSXin Li  * you may not use this file except in compliance with the License.
7*af87fb4bSXin Li  * You may obtain a copy of the License at
8*af87fb4bSXin Li  *
9*af87fb4bSXin Li  * http://www.apache.org/licenses/LICENSE-2.0
10*af87fb4bSXin Li  *
11*af87fb4bSXin Li  * Unless required by applicable law or agreed to in writing, software
12*af87fb4bSXin Li  * distributed under the License is distributed on an "AS IS" BASIS,
13*af87fb4bSXin Li  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14*af87fb4bSXin Li  * See the License for the specific language governing permissions and
15*af87fb4bSXin Li  * limitations under the License.
16*af87fb4bSXin Li  */
17*af87fb4bSXin Li 
18*af87fb4bSXin Li // WITH_RUNTIME
19*af87fb4bSXin Li // TEST PROCESSOR: TopLevelMemberProcessor
20*af87fb4bSXin Li // EXPECTED:
21*af87fb4bSXin Li // lib : <init> -> lib.LibJavaClass
22*af87fb4bSXin Li // lib : <init> -> lib.RealLibClass
23*af87fb4bSXin Li // lib : <init> -> lib.RealLibClass$Companion
24*af87fb4bSXin Li // lib : functionInLib -> lib.LibKt
25*af87fb4bSXin Li // lib : functionInLibCompanion -> lib.RealLibClass$Companion
26*af87fb4bSXin Li // lib : functionInLibJvmName -> lib.LibCustomClassName
27*af87fb4bSXin Li // lib : functionInLibRealClass -> lib.RealLibClass
28*af87fb4bSXin Li // lib : javaFieldInLib -> lib.LibJavaClass
29*af87fb4bSXin Li // lib : javaMethodInLib -> lib.LibJavaClass
30*af87fb4bSXin Li // lib : jvmStaticFunctionInLibCompanion -> lib.RealLibClass$Companion
31*af87fb4bSXin Li // lib : jvmStaticValueInLibCompanion -> lib.RealLibClass$Companion
32*af87fb4bSXin Li // lib : jvmStaticVariableInLibCompanion -> lib.RealLibClass$Companion
33*af87fb4bSXin Li // lib : valueInLib -> lib.LibKt
34*af87fb4bSXin Li // lib : valueInLibCompanion -> lib.RealLibClass$Companion
35*af87fb4bSXin Li // lib : valueInLibJvmName -> lib.LibCustomClassName
36*af87fb4bSXin Li // lib : valueInLibRealClass -> lib.RealLibClass
37*af87fb4bSXin Li // lib : variableInLib -> lib.LibKt
38*af87fb4bSXin Li // lib : variableInLibCompanion -> lib.RealLibClass$Companion
39*af87fb4bSXin Li // lib : variableInLibJvmName -> lib.LibCustomClassName
40*af87fb4bSXin Li // lib : variableInLibRealClass -> lib.RealLibClass
41*af87fb4bSXin Li // main : <init> -> main.MainJavaClass
42*af87fb4bSXin Li // main : <init> -> main.RealMainClass
43*af87fb4bSXin Li // main : <init> -> main.RealMainClass$Companion
44*af87fb4bSXin Li // main : functionInMain -> main.MainKt
45*af87fb4bSXin Li // main : functionInMainCompanion -> main.RealMainClass$Companion
46*af87fb4bSXin Li // main : functionInMainJvmName -> main.MainCustomClassName
47*af87fb4bSXin Li // main : functionInMainRealClass -> main.RealMainClass
48*af87fb4bSXin Li // main : javaFieldInMain -> main.MainJavaClass
49*af87fb4bSXin Li // main : javaMethodInMain -> main.MainJavaClass
50*af87fb4bSXin Li // main : jvmStaticFunctionInMainCompanion -> main.RealMainClass$Companion
51*af87fb4bSXin Li // main : jvmStaticValueInMainCompanion -> main.RealMainClass$Companion
52*af87fb4bSXin Li // main : jvmStaticVariableInMainCompanion -> main.RealMainClass$Companion
53*af87fb4bSXin Li // main : valueInMain -> main.MainKt
54*af87fb4bSXin Li // main : valueInMainCompanion -> main.RealMainClass$Companion
55*af87fb4bSXin Li // main : valueInMainJvmName -> main.MainCustomClassName
56*af87fb4bSXin Li // main : valueInMainRealClass -> main.RealMainClass
57*af87fb4bSXin Li // main : variableInMain -> main.MainKt
58*af87fb4bSXin Li // main : variableInMainCompanion -> main.RealMainClass$Companion
59*af87fb4bSXin Li // main : variableInMainJvmName -> main.MainCustomClassName
60*af87fb4bSXin Li // main : variableInMainRealClass -> main.RealMainClass
61*af87fb4bSXin Li // END
62*af87fb4bSXin Li 
63*af87fb4bSXin Li // MODULE: lib
64*af87fb4bSXin Li // FILE: lib.kt
65*af87fb4bSXin Li package lib
functionInLibnull66*af87fb4bSXin Li fun functionInLib() {}
67*af87fb4bSXin Li val valueInLib: String = ""
68*af87fb4bSXin Li var variableInLib: String = ""
69*af87fb4bSXin Li class RealLibClass {
functionInLibRealClassnull70*af87fb4bSXin Li     fun functionInLibRealClass() {}
71*af87fb4bSXin Li     val valueInLibRealClass: String = ""
72*af87fb4bSXin Li     var variableInLibRealClass: String = ""
73*af87fb4bSXin Li 
74*af87fb4bSXin Li     companion object {
functionInLibCompanionnull75*af87fb4bSXin Li         fun functionInLibCompanion() {}
76*af87fb4bSXin Li         val valueInLibCompanion: String = ""
77*af87fb4bSXin Li         var variableInLibCompanion: String = ""
78*af87fb4bSXin Li         @JvmStatic
jvmStaticFunctionInLibCompanionnull79*af87fb4bSXin Li         fun jvmStaticFunctionInLibCompanion() {}
80*af87fb4bSXin Li         @JvmStatic
81*af87fb4bSXin Li         val jvmStaticValueInLibCompanion: String = ""
82*af87fb4bSXin Li         @JvmStatic
83*af87fb4bSXin Li         var jvmStaticVariableInLibCompanion: String = ""
84*af87fb4bSXin Li     }
85*af87fb4bSXin Li }
86*af87fb4bSXin Li // FILE: customName.kt
87*af87fb4bSXin Li @file:JvmName("LibCustomClassName")
88*af87fb4bSXin Li package lib
functionInLibJvmNamenull89*af87fb4bSXin Li fun functionInLibJvmName() {}
90*af87fb4bSXin Li val valueInLibJvmName: String = ""
91*af87fb4bSXin Li var variableInLibJvmName: String = ""
92*af87fb4bSXin Li 
93*af87fb4bSXin Li // FILE: lib/LibJavaClass.java
94*af87fb4bSXin Li package lib;
95*af87fb4bSXin Li public class LibJavaClass {
96*af87fb4bSXin Li     public LibJavaClass() {}
97*af87fb4bSXin Li     private String javaFieldInLib;
<lambda>null98*af87fb4bSXin Li     private void javaMethodInLib() {
99*af87fb4bSXin Li     }
100*af87fb4bSXin Li }
101*af87fb4bSXin Li 
102*af87fb4bSXin Li // MODULE: main(lib)
103*af87fb4bSXin Li // FILE: main.kt
104*af87fb4bSXin Li package main
functionInMainnull105*af87fb4bSXin Li fun functionInMain() {}
106*af87fb4bSXin Li val valueInMain: String = ""
107*af87fb4bSXin Li var variableInMain: String = ""
108*af87fb4bSXin Li class RealMainClass {
functionInMainRealClassnull109*af87fb4bSXin Li     fun functionInMainRealClass() {}
110*af87fb4bSXin Li     val valueInMainRealClass: String = ""
111*af87fb4bSXin Li     var variableInMainRealClass: String = ""
112*af87fb4bSXin Li 
113*af87fb4bSXin Li     companion object {
functionInMainCompanionnull114*af87fb4bSXin Li         fun functionInMainCompanion() {}
115*af87fb4bSXin Li         val valueInMainCompanion: String = ""
116*af87fb4bSXin Li         var variableInMainCompanion: String = ""
117*af87fb4bSXin Li         @JvmStatic
jvmStaticFunctionInMainCompanionnull118*af87fb4bSXin Li         fun jvmStaticFunctionInMainCompanion() {}
119*af87fb4bSXin Li         @JvmStatic
120*af87fb4bSXin Li         val jvmStaticValueInMainCompanion: String = ""
121*af87fb4bSXin Li         @JvmStatic
122*af87fb4bSXin Li         var jvmStaticVariableInMainCompanion: String = ""
123*af87fb4bSXin Li     }
124*af87fb4bSXin Li }
125*af87fb4bSXin Li // FILE: customName.kt
126*af87fb4bSXin Li @file:JvmName("MainCustomClassName")
127*af87fb4bSXin Li package main
functionInMainJvmNamenull128*af87fb4bSXin Li fun functionInMainJvmName() {}
129*af87fb4bSXin Li val valueInMainJvmName: String = ""
130*af87fb4bSXin Li var variableInMainJvmName: String = ""
131*af87fb4bSXin Li // FILE: main/MainJavaClass.java
132*af87fb4bSXin Li package main;
133*af87fb4bSXin Li public class MainJavaClass {
134*af87fb4bSXin Li     public MainJavaClass() {}
135*af87fb4bSXin Li     private String javaFieldInMain;
<lambda>null136*af87fb4bSXin Li     private void javaMethodInMain() {
137*af87fb4bSXin Li     }
138*af87fb4bSXin Li }
139