xref: /aosp_15_r20/external/ksp/test-utils/testData/api/mangledNames.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: MangledNamesProcessor
20*af87fb4bSXin Li // EXPECTED:
21*af87fb4bSXin Li // JavaEnum -> declarations
22*af87fb4bSXin Li // JavaEnum.VAL1 -> declarations
23*af87fb4bSXin Li // JavaEnum.VAL2 -> declarations
24*af87fb4bSXin Li // values -> values
25*af87fb4bSXin Li // valueOf -> valueOf
26*af87fb4bSXin Li // <init> -> <init>
27*af87fb4bSXin Li // JavaInput -> declarations
28*af87fb4bSXin Li // javaFunction -> javaFunction
29*af87fb4bSXin Li // staticJavaFunction -> staticJavaFunction
30*af87fb4bSXin Li // getX -> getX
31*af87fb4bSXin Li // getY -> getY
32*af87fb4bSXin Li // setY -> setY
33*af87fb4bSXin Li // mainPackage.Foo -> declarations
34*af87fb4bSXin Li // get-normalProp -> getNormalProp
35*af87fb4bSXin Li // set-normalProp -> setNormalProp
36*af87fb4bSXin Li // get-inlineProp -> getInlineProp-HRn7Rpw
37*af87fb4bSXin Li // set-inlineProp -> setInlineProp-E03SJzc
38*af87fb4bSXin Li // get-internalProp -> getInternalProp$mainModule
39*af87fb4bSXin Li // set-internalProp -> setInternalProp$mainModule
40*af87fb4bSXin Li // get-internalInlineProp -> getInternalInlineProp-HRn7Rpw$mainModule
41*af87fb4bSXin Li // set-internalInlineProp -> setInternalInlineProp-E03SJzc$mainModule
42*af87fb4bSXin Li // get-jvmNameProp -> explicitGetterName
43*af87fb4bSXin Li // set-jvmNameProp -> explicitSetterName
44*af87fb4bSXin Li // normalFun -> normalFun
45*af87fb4bSXin Li // hasJvmName -> explicitJvmName
46*af87fb4bSXin Li // inlineReceivingFun -> inlineReceivingFun-E03SJzc
47*af87fb4bSXin Li // inlineReturningFun -> inlineReturningFun-HRn7Rpw
48*af87fb4bSXin Li // internalInlineReceivingFun -> internalInlineReceivingFun-E03SJzc$mainModule
49*af87fb4bSXin Li // internalInlineReturningFun -> internalInlineReturningFun-HRn7Rpw$mainModule
50*af87fb4bSXin Li // mainPackage.AbstractKotlinClass -> declarations
51*af87fb4bSXin Li // get-abstractVar -> getAbstractVar
52*af87fb4bSXin Li // set-abstractVar -> setAbstractVar
53*af87fb4bSXin Li // get-abstractVal -> getAbstractVal
54*af87fb4bSXin Li // get-internalAbstractVar -> getInternalAbstractVar$mainModule
55*af87fb4bSXin Li // set-internalAbstractVar -> setInternalAbstractVar$mainModule
56*af87fb4bSXin Li // get-internalAbstractVal -> getInternalAbstractVal$mainModule
57*af87fb4bSXin Li // set-internalAbstractVal -> setInternalAbstractVal$mainModule
58*af87fb4bSXin Li // fileLevelInternalFun -> fileLevelInternalFun
59*af87fb4bSXin Li // fileLevelInlineReceivingFun -> fileLevelInlineReceivingFun-E03SJzc
60*af87fb4bSXin Li // fileLevelInlineReturningFun -> fileLevelInlineReturningFun
61*af87fb4bSXin Li // fileLevelInternalInlineReceivingFun -> fileLevelInternalInlineReceivingFun-E03SJzc
62*af87fb4bSXin Li // fileLevelInternalInlineReturningFun -> fileLevelInternalInlineReturningFun
63*af87fb4bSXin Li // mainPackage.MyInterface -> declarations
64*af87fb4bSXin Li // get-x -> getX
65*af87fb4bSXin Li // get-y -> getY
66*af87fb4bSXin Li // set-y -> setY
67*af87fb4bSXin Li // libPackage.Foo -> declarations
68*af87fb4bSXin Li // get-inlineProp -> getInlineProp-b_MPbnQ
69*af87fb4bSXin Li // set-inlineProp -> setInlineProp-mQ73O9w
70*af87fb4bSXin Li // get-internalInlineProp -> getInternalInlineProp-b_MPbnQ$lib
71*af87fb4bSXin Li // set-internalInlineProp -> setInternalInlineProp-mQ73O9w$lib
72*af87fb4bSXin Li // get-internalProp -> getInternalProp$lib
73*af87fb4bSXin Li // set-internalProp -> setInternalProp$lib
74*af87fb4bSXin Li // get-jvmNameProp -> explicitGetterName
75*af87fb4bSXin Li // set-jvmNameProp -> explicitSetterName
76*af87fb4bSXin Li // get-normalProp -> getNormalProp
77*af87fb4bSXin Li // set-normalProp -> setNormalProp
78*af87fb4bSXin Li // hasJvmName -> explicitJvmName
79*af87fb4bSXin Li // inlineReceivingFun -> inlineReceivingFun-mQ73O9w
80*af87fb4bSXin Li // inlineReturningFun -> inlineReturningFun-b_MPbnQ
81*af87fb4bSXin Li // internalInlineReceivingFun -> internalInlineReceivingFun-mQ73O9w$lib
82*af87fb4bSXin Li // internalInlineReturningFun -> internalInlineReturningFun-b_MPbnQ$lib
83*af87fb4bSXin Li // normalFun -> normalFun
84*af87fb4bSXin Li // <init> -> <init>
85*af87fb4bSXin Li // libPackage.AbstractKotlinClass -> declarations
86*af87fb4bSXin Li // get-abstractVal -> getAbstractVal
87*af87fb4bSXin Li // get-abstractVar -> getAbstractVar
88*af87fb4bSXin Li // set-abstractVar -> setAbstractVar
89*af87fb4bSXin Li // get-internalAbstractVal -> getInternalAbstractVal$lib
90*af87fb4bSXin Li // set-internalAbstractVal -> setInternalAbstractVal$lib
91*af87fb4bSXin Li // get-internalAbstractVar -> getInternalAbstractVar$lib
92*af87fb4bSXin Li // set-internalAbstractVar -> setInternalAbstractVar$lib
93*af87fb4bSXin Li // libPackage.MyInterface -> declarations
94*af87fb4bSXin Li // get-x -> getX
95*af87fb4bSXin Li // get-y -> getY
96*af87fb4bSXin Li // set-y -> setY
97*af87fb4bSXin Li // END
98*af87fb4bSXin Li // MODULE: lib
99*af87fb4bSXin Li // FILE: input.kt
100*af87fb4bSXin Li /**
101*af87fb4bSXin Li  * control group
102*af87fb4bSXin Li  */
103*af87fb4bSXin Li package libPackage;
104*af87fb4bSXin Li inline class Inline1(val value:String)
105*af87fb4bSXin Li class Foo {
106*af87fb4bSXin Li     var normalProp:String = TODO()
107*af87fb4bSXin Li     var inlineProp: Inline1 = TODO()
108*af87fb4bSXin Li     internal var internalProp: String = TODO()
109*af87fb4bSXin Li     internal var internalInlineProp: Inline1 = TODO()
110*af87fb4bSXin Li     @get:JvmName("explicitGetterName")
111*af87fb4bSXin Li     @set:JvmName("explicitSetterName")
112*af87fb4bSXin Li     var jvmNameProp:String
normalFunnull113*af87fb4bSXin Li     fun normalFun() {}
114*af87fb4bSXin Li     @JvmName("explicitJvmName")
hasJvmNamenull115*af87fb4bSXin Li     fun hasJvmName() {}
inlineReceivingFunnull116*af87fb4bSXin Li     fun inlineReceivingFun(value: Inline1) {}
inlineReturningFunnull117*af87fb4bSXin Li     fun inlineReturningFun(): Inline1 = TODO()
118*af87fb4bSXin Li     internal fun internalInlineReceivingFun(value: Inline1) {}
internalInlineReturningFunnull119*af87fb4bSXin Li     internal fun internalInlineReturningFun(): Inline1 = TODO()
120*af87fb4bSXin Li }
121*af87fb4bSXin Li 
122*af87fb4bSXin Li abstract class AbstractKotlinClass {
123*af87fb4bSXin Li     abstract var abstractVar:String
124*af87fb4bSXin Li     abstract val abstractVal:String
125*af87fb4bSXin Li     internal abstract var internalAbstractVar:String
126*af87fb4bSXin Li     internal abstract var internalAbstractVal:String
127*af87fb4bSXin Li }
128*af87fb4bSXin Li 
129*af87fb4bSXin Li interface MyInterface {
130*af87fb4bSXin Li     val x:Int
131*af87fb4bSXin Li     var y:Int
132*af87fb4bSXin Li }
133*af87fb4bSXin Li // MODULE: mainModule(lib)
134*af87fb4bSXin Li // FILE: input.kt
135*af87fb4bSXin Li package mainPackage;
136*af87fb4bSXin Li inline class Inline1(val value:String)
137*af87fb4bSXin Li class Foo {
138*af87fb4bSXin Li     var normalProp:String = TODO()
139*af87fb4bSXin Li     var inlineProp: Inline1 = TODO()
140*af87fb4bSXin Li     internal var internalProp: String = TODO()
141*af87fb4bSXin Li     internal var internalInlineProp: Inline1 = TODO()
142*af87fb4bSXin Li     @get:JvmName("explicitGetterName")
143*af87fb4bSXin Li     @set:JvmName("explicitSetterName")
144*af87fb4bSXin Li     var jvmNameProp:String
normalFunnull145*af87fb4bSXin Li     fun normalFun() {}
146*af87fb4bSXin Li     @JvmName("explicitJvmName")
hasJvmNamenull147*af87fb4bSXin Li     fun hasJvmName() {}
inlineReceivingFunnull148*af87fb4bSXin Li     fun inlineReceivingFun(value: Inline1) {}
inlineReturningFunnull149*af87fb4bSXin Li     fun inlineReturningFun(): Inline1 = TODO()
150*af87fb4bSXin Li     internal fun internalInlineReceivingFun(value: Inline1) {}
internalInlineReturningFunnull151*af87fb4bSXin Li     internal fun internalInlineReturningFun(): Inline1 = TODO()
152*af87fb4bSXin Li }
153*af87fb4bSXin Li 
154*af87fb4bSXin Li abstract class AbstractKotlinClass {
155*af87fb4bSXin Li     abstract var abstractVar:String
156*af87fb4bSXin Li     abstract val abstractVal:String
157*af87fb4bSXin Li     internal abstract var internalAbstractVar:String
158*af87fb4bSXin Li     internal abstract var internalAbstractVal:String
159*af87fb4bSXin Li }
160*af87fb4bSXin Li 
fileLevelInternalFunnull161*af87fb4bSXin Li internal fun fileLevelInternalFun(): Unit = TODO()
162*af87fb4bSXin Li fun fileLevelInlineReceivingFun(inline1: Inline1): Unit = TODO()
163*af87fb4bSXin Li fun fileLevelInlineReturningFun(): Inline1 = TODO()
164*af87fb4bSXin Li fun fileLevelInternalInlineReceivingFun(inline1: Inline1): Unit = TODO()
165*af87fb4bSXin Li fun fileLevelInternalInlineReturningFun(): Inline1 = TODO()
166*af87fb4bSXin Li 
167*af87fb4bSXin Li interface MyInterface {
168*af87fb4bSXin Li     val x:Int
169*af87fb4bSXin Li     var y:Int
170*af87fb4bSXin Li }
171*af87fb4bSXin Li 
172*af87fb4bSXin Li // FILE: JavaInput.java
173*af87fb4bSXin Li import mainPackage.MyInterface;
174*af87fb4bSXin Li 
175*af87fb4bSXin Li class JavaInput implements MyInterface {
176*af87fb4bSXin Li     String javaField;
177*af87fb4bSXin Li     String javaFunction() {}
178*af87fb4bSXin Li     static String staticJavaField;
<lambda>null179*af87fb4bSXin Li     static void staticJavaFunction() {}
<lambda>null180*af87fb4bSXin Li     public int getX() {
181*af87fb4bSXin Li         return 1;
182*af87fb4bSXin Li     }
<lambda>null183*af87fb4bSXin Li     public int getY() {
184*af87fb4bSXin Li         return 1;
185*af87fb4bSXin Li     }
186*af87fb4bSXin Li     public void setY(int value) {
187*af87fb4bSXin Li     }
188*af87fb4bSXin Li }
189*af87fb4bSXin Li 
190*af87fb4bSXin Li // FILE: JavaEnum.java
191*af87fb4bSXin Li public enum JavaEnum {
192*af87fb4bSXin Li     VAL1,
193*af87fb4bSXin Li     VAL2;
194*af87fb4bSXin Li }
195