Temporarily remove isInitialized and tests, but keep the implementation
This is needed because we want the compiler code to stay as much the same in master and in 1.2 as possible
This commit is contained in:
@@ -1,88 +0,0 @@
|
||||
// !DIAGNOSTICS: -UNUSED_VARIABLE -NOTHING_TO_INLINE
|
||||
// !API_VERSION: 1.2
|
||||
// FILE: test.kt
|
||||
|
||||
interface Base {
|
||||
var x: String
|
||||
}
|
||||
|
||||
open class Foo : Base {
|
||||
override lateinit var x: String
|
||||
private lateinit var y: String
|
||||
|
||||
var nonLateInit: Int = 1
|
||||
|
||||
fun ok() {
|
||||
val b: Boolean = this::x.isInitialized
|
||||
|
||||
val otherInstance = Foo()
|
||||
otherInstance::x.isInitialized
|
||||
|
||||
(this::x).isInitialized
|
||||
(@Suppress("ALL") (this::x)).isInitialized
|
||||
|
||||
object {
|
||||
fun local() {
|
||||
class Local {
|
||||
val xx = this@Foo::x.isInitialized
|
||||
val yy = this@Foo::y.isInitialized
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun onLiteral() {
|
||||
val p = this::x
|
||||
p.<!LATEINIT_INTRINSIC_CALL_ON_NON_LITERAL!>isInitialized<!>
|
||||
}
|
||||
|
||||
fun onNonLateinit() {
|
||||
this::nonLateInit.<!LATEINIT_INTRINSIC_CALL_ON_NON_LATEINIT!>isInitialized<!>
|
||||
}
|
||||
|
||||
inline fun inlineFun() {
|
||||
this::x.<!LATEINIT_INTRINSIC_CALL_IN_INLINE_FUNCTION!>isInitialized<!>
|
||||
|
||||
object {
|
||||
val z = this@Foo::x.isInitialized
|
||||
}
|
||||
}
|
||||
|
||||
inner class InnerSubclass : Foo() {
|
||||
fun innerOk() {
|
||||
// This is access to Foo.x declared lexically above
|
||||
this@Foo::x.isInitialized
|
||||
|
||||
// This is access to InnerSubclass.x which is inherited from Foo.x
|
||||
this::x.isInitialized
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun onNonAccessible() {
|
||||
Foo()::x.<!LATEINIT_INTRINSIC_CALL_ON_NON_ACCESSIBLE_PROPERTY!>isInitialized<!>
|
||||
}
|
||||
|
||||
fun onNonLateinit() {
|
||||
Foo()::nonLateInit.<!LATEINIT_INTRINSIC_CALL_ON_NON_LATEINIT!>isInitialized<!>
|
||||
}
|
||||
|
||||
object Unrelated {
|
||||
fun onNonAccessible() {
|
||||
Foo()::x.<!LATEINIT_INTRINSIC_CALL_ON_NON_ACCESSIBLE_PROPERTY!>isInitialized<!>
|
||||
}
|
||||
}
|
||||
|
||||
class FooImpl : Foo() {
|
||||
fun onNonAccessible() {
|
||||
this::x.<!LATEINIT_INTRINSIC_CALL_ON_NON_ACCESSIBLE_PROPERTY!>isInitialized<!>
|
||||
}
|
||||
}
|
||||
|
||||
// FILE: other.kt
|
||||
|
||||
class OtherFooImpl : Foo() {
|
||||
fun onNonAccessible() {
|
||||
this::x.<!LATEINIT_INTRINSIC_CALL_ON_NON_ACCESSIBLE_PROPERTY!>isInitialized<!>
|
||||
}
|
||||
}
|
||||
@@ -1,78 +0,0 @@
|
||||
package
|
||||
|
||||
public fun onNonAccessible(): kotlin.Unit
|
||||
public fun onNonLateinit(): kotlin.Unit
|
||||
|
||||
public interface Base {
|
||||
public abstract var x: kotlin.String
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public open class Foo : Base {
|
||||
public constructor Foo()
|
||||
public final var nonLateInit: kotlin.Int
|
||||
public open override /*1*/ lateinit var x: kotlin.String
|
||||
private final lateinit var y: kotlin.String
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public final inline fun inlineFun(): kotlin.Unit
|
||||
public final fun ok(): kotlin.Unit
|
||||
public final fun onLiteral(): kotlin.Unit
|
||||
public final fun onNonLateinit(): kotlin.Unit
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
|
||||
public final inner class InnerSubclass : Foo {
|
||||
public constructor InnerSubclass()
|
||||
public final override /*1*/ /*fake_override*/ var nonLateInit: kotlin.Int
|
||||
public open override /*1*/ lateinit /*fake_override*/ var x: kotlin.String
|
||||
invisible_fake final override /*1*/ lateinit /*fake_override*/ var y: kotlin.String
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public final inline override /*1*/ /*fake_override*/ fun inlineFun(): kotlin.Unit
|
||||
public final fun innerOk(): kotlin.Unit
|
||||
public final override /*1*/ /*fake_override*/ fun ok(): kotlin.Unit
|
||||
public final override /*1*/ /*fake_override*/ fun onLiteral(): kotlin.Unit
|
||||
public final override /*1*/ /*fake_override*/ fun onNonLateinit(): kotlin.Unit
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
}
|
||||
|
||||
public final class FooImpl : Foo {
|
||||
public constructor FooImpl()
|
||||
public final override /*1*/ /*fake_override*/ var nonLateInit: kotlin.Int
|
||||
public open override /*1*/ lateinit /*fake_override*/ var x: kotlin.String
|
||||
invisible_fake final override /*1*/ lateinit /*fake_override*/ var y: kotlin.String
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public final inline override /*1*/ /*fake_override*/ fun inlineFun(): kotlin.Unit
|
||||
public final override /*1*/ /*fake_override*/ fun ok(): kotlin.Unit
|
||||
public final override /*1*/ /*fake_override*/ fun onLiteral(): kotlin.Unit
|
||||
public final fun onNonAccessible(): kotlin.Unit
|
||||
public final override /*1*/ /*fake_override*/ fun onNonLateinit(): kotlin.Unit
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public final class OtherFooImpl : Foo {
|
||||
public constructor OtherFooImpl()
|
||||
public final override /*1*/ /*fake_override*/ var nonLateInit: kotlin.Int
|
||||
public open override /*1*/ lateinit /*fake_override*/ var x: kotlin.String
|
||||
invisible_fake final override /*1*/ lateinit /*fake_override*/ var y: kotlin.String
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public final inline override /*1*/ /*fake_override*/ fun inlineFun(): kotlin.Unit
|
||||
public final override /*1*/ /*fake_override*/ fun ok(): kotlin.Unit
|
||||
public final override /*1*/ /*fake_override*/ fun onLiteral(): kotlin.Unit
|
||||
public final fun onNonAccessible(): kotlin.Unit
|
||||
public final override /*1*/ /*fake_override*/ fun onNonLateinit(): kotlin.Unit
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public object Unrelated {
|
||||
private constructor Unrelated()
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public final fun onNonAccessible(): kotlin.Unit
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
Reference in New Issue
Block a user