Files
kotlin-fork/plugins/allopen/testData/diagnostics/smartcast.kt
T
Brian Norman 70662007a5 [AllOpen] Private properties can be considered stable even when open
The AllOpen plugin can make private members open. But for private
properties, they can be considered stable for smart-casting if they do
not have a custom getter.

#KT-58049 Fixed
2023-07-17 11:49:24 +00:00

25 lines
653 B
Kotlin
Vendored

// WITH_STDLIB
// ISSUE: KT-58049
annotation class AllOpen
@AllOpen
class Test(
val publicProp: String?,
protected val protectedProp: String?,
internal val internalProp: String?,
private val privateProp: String?,
) {
fun test() {
checkNotNull(publicProp)
checkNotNull(protectedProp)
checkNotNull(internalProp)
checkNotNull(privateProp)
println(<!SMARTCAST_IMPOSSIBLE!>publicProp<!>.length)
println(<!SMARTCAST_IMPOSSIBLE!>protectedProp<!>.length)
println(<!SMARTCAST_IMPOSSIBLE!>internalProp<!>.length)
println(<!DEBUG_INFO_SMARTCAST!>privateProp<!>.length)
}
}