70662007a5
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
25 lines
653 B
Kotlin
Vendored
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)
|
|
}
|
|
}
|