xref: /aosp_15_r20/external/ksp/test-utils/testData/api/lateinitProperties.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: LateinitPropertiesProcessor
20 // EXPECTED:
21 // prop1
22 // prop2
23 // prop3
24 // propSource1
25 // propSource2
26 // propSource3
27 // END
28 // MODULE: lib
29 // FILE: compiledProperties.kt
30 package test.compiled
31 
32 open class Foo {
33     lateinit var prop1: Any
34     companion object {
35         lateinit var prop2: Any
36     }
37 }
38 
39 object Bar : Foo() {
40     lateinit var prop3: Any
41 }
42 
43 // MODULE: main(lib)
44 // FILE: sourceProperties.kt
45 package test.source
46 
47 open class FooSource {
48     lateinit var propSource1: Any
49     companion object {
50         lateinit var propSource2: Any
51     }
52 }
53 
54 object BarSource : Foo() {
55     lateinit var propSource3: Any
56 }
57