Check language feature support for local and top-level lateinit vars
This commit is contained in:
+2
@@ -1,3 +1,5 @@
|
||||
// LANGUAGE_VERSION: 1.2
|
||||
|
||||
fun runNoInline(f: () -> Unit) = f()
|
||||
|
||||
fun box(): String {
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
// LANGUAGE_VERSION: 1.2
|
||||
|
||||
fun box(): String {
|
||||
lateinit var ok: String
|
||||
run {
|
||||
|
||||
Vendored
+1
@@ -1,3 +1,4 @@
|
||||
// LANGUAGE_VERSION: 1.2
|
||||
// WITH_REFLECT
|
||||
// IGNORE_BACKEND: JS, NATIVE
|
||||
|
||||
|
||||
+1
@@ -1,3 +1,4 @@
|
||||
// LANGUAGE_VERSION: 1.2
|
||||
// WITH_REFLECT
|
||||
// IGNORE_BACKEND: JS, NATIVE
|
||||
|
||||
|
||||
+1
@@ -1,3 +1,4 @@
|
||||
// LANGUAGE_VERSION: 1.2
|
||||
// WITH_REFLECT
|
||||
// IGNORE_BACKEND: JS, NATIVE
|
||||
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// LANGUAGE_VERSION: 1.2
|
||||
// WITH_REFLECT
|
||||
// IGNORE_BACKEND: JS, NATIVE
|
||||
|
||||
|
||||
+1
@@ -1,3 +1,4 @@
|
||||
// LANGUAGE_VERSION: 1.2
|
||||
// WITH_REFLECT
|
||||
// IGNORE_BACKEND: JS, NATIVE
|
||||
// FILE: lateinit.kt
|
||||
|
||||
+2
@@ -1,3 +1,5 @@
|
||||
// LANGUAGE_VERSION: 1.2
|
||||
|
||||
// FILE: lateinit.kt
|
||||
private lateinit var s: String
|
||||
|
||||
|
||||
+2
@@ -1,3 +1,5 @@
|
||||
// LANGUAGE_VERSION: 1.2
|
||||
|
||||
lateinit var ok: String
|
||||
|
||||
fun box(): String {
|
||||
|
||||
+1
@@ -1,3 +1,4 @@
|
||||
// LANGUAGE_VERSION: 1.2
|
||||
// WITH_REFLECT
|
||||
// IGNORE_BACKEND: JS, NATIVE
|
||||
|
||||
|
||||
+1
@@ -1,3 +1,4 @@
|
||||
// LANGUAGE_VERSION: 1.2
|
||||
// WITH_REFLECT
|
||||
// IGNORE_BACKEND: JS, NATIVE
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@ public abstract class A<T: Any, V: String?>(<!INAPPLICABLE_LATEINIT_MODIFIER!>la
|
||||
private set
|
||||
|
||||
fun a() {
|
||||
lateinit var <!UNUSED_VARIABLE!>a<!>: String
|
||||
<!UNSUPPORTED_FEATURE!>lateinit<!> var <!UNUSED_VARIABLE!>a<!>: String
|
||||
}
|
||||
|
||||
<!INAPPLICABLE_LATEINIT_MODIFIER!>lateinit<!> var e1: V
|
||||
@@ -46,8 +46,8 @@ public abstract class A<T: Any, V: String?>(<!INAPPLICABLE_LATEINIT_MODIFIER!>la
|
||||
<!INAPPLICABLE_LATEINIT_MODIFIER!>lateinit<!> var String.e12: String
|
||||
}
|
||||
|
||||
<!INAPPLICABLE_LATEINIT_MODIFIER!>lateinit<!> val topLevel: String
|
||||
lateinit var topLevelMutable: String
|
||||
<!INAPPLICABLE_LATEINIT_MODIFIER, UNSUPPORTED_FEATURE!>lateinit<!> val topLevel: String
|
||||
<!UNSUPPORTED_FEATURE!>lateinit<!> var topLevelMutable: String
|
||||
|
||||
public interface Intf {
|
||||
<!INAPPLICABLE_LATEINIT_MODIFIER!>lateinit<!> var str: String
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
// !LANGUAGE: +LateinitTopLevelProperties
|
||||
|
||||
object Delegate {
|
||||
operator fun getValue(instance: Any?, property: Any) : String = ""
|
||||
operator fun setValue(instance: Any?, property: Any, value: String) {}
|
||||
|
||||
Vendored
+1
@@ -1,4 +1,5 @@
|
||||
// !DIAGNOSTICS: -UNUSED_VALUE -UNUSED_VARIABLE -ASSIGNED_BUT_NEVER_ACCESSED_VARIABLE
|
||||
// !LANGUAGE: +LateinitLocalVariables
|
||||
|
||||
import kotlin.reflect.KProperty
|
||||
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
// !LANGUAGE: +LateinitLocalVariables
|
||||
|
||||
fun test() {
|
||||
lateinit var s: String
|
||||
s = ""
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
// !LANGUAGE: +LateinitLocalVariables
|
||||
|
||||
fun test1() {
|
||||
lateinit var s: String
|
||||
s.length
|
||||
|
||||
Reference in New Issue
Block a user