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