blob: 5b82ddf46ffd7038852c7903d6157c10c5af9698 [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 CompanionProperties {
companion object {
private var privateProp: String = "privateProp"
internal var internalProp: String = "internalProp"
public var publicProp: String = "publicProp"
public var primitiveProp: Int = Int.MAX_VALUE
fun callSetterPrivateProp(v: String) {
privateProp = v
}
fun callGetterPrivateProp(): String {
return privateProp
}
}
}
fun companionProperties_noUseOfProperties() {
CompanionProperties()
println("DONE")
}
fun companionProperties_usePrivateProp() {
CompanionProperties.callSetterPrivateProp("foo")
println(CompanionProperties.callGetterPrivateProp())
}
fun companionProperties_useInternalProp() {
CompanionProperties.internalProp = "foo"
println(CompanionProperties.internalProp)
}
fun companionProperties_usePublicProp() {
CompanionProperties.publicProp = "foo"
println(CompanionProperties.publicProp)
}
fun companionProperties_usePrimitiveProp() {
CompanionProperties.primitiveProp = Int.MIN_VALUE
println(CompanionProperties.primitiveProp)
}