blob: d3db0f4d0ca7813541684fec5d66741c470a3387 [file] [log] [blame] [edit]
// Copyright (c) 2018, the R8 project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
package properties
class CompanionLateInitProperties {
companion object {
private lateinit var privateLateInitProp: String
internal lateinit var internalLateInitProp: String
public lateinit var publicLateInitProp: String
fun callSetterPrivateProp(v: String) {
privateLateInitProp = v
}
fun callGetterPrivateProp(): String {
return privateLateInitProp
}
}
}
fun companionLateInitProperties_noUseOfProperties() {
CompanionLateInitProperties()
println("DONE")
}
fun companionLateInitProperties_usePrivateLateInitProp() {
CompanionLateInitProperties.callSetterPrivateProp("foo")
println(CompanionLateInitProperties.callGetterPrivateProp())
}
fun companionLateInitProperties_useInternalLateInitProp() {
CompanionLateInitProperties.internalLateInitProp = "foo"
println(CompanionLateInitProperties.internalLateInitProp)
}
fun companionLateInitProperties_usePublicLateInitProp() {
CompanionLateInitProperties.publicLateInitProp = "foo"
println(CompanionLateInitProperties.publicLateInitProp)
}