[FIR] Implement INVISIBLE_SETTER
This commit is contained in:
committed by
teamcityserver
parent
ca4410aa53
commit
b3d7ed569d
@@ -23,23 +23,23 @@ class P {
|
||||
|
||||
fun foo() {
|
||||
val p = P()
|
||||
p.x = 34 //should be an error here
|
||||
<!INVISIBLE_SETTER!>p.x<!> = 34 //should be an error here
|
||||
p.y = 23
|
||||
|
||||
fun inner() {
|
||||
p.x = 44
|
||||
<!INVISIBLE_SETTER!>p.x<!> = 44
|
||||
}
|
||||
}
|
||||
|
||||
class R {
|
||||
val p = P();
|
||||
init {
|
||||
p.x = 42
|
||||
<!INVISIBLE_SETTER!>p.x<!> = 42
|
||||
}
|
||||
|
||||
val testInGetterInOtherClass : Int
|
||||
get() {
|
||||
p.x = 33
|
||||
<!INVISIBLE_SETTER!>p.x<!> = 33
|
||||
return 3
|
||||
}
|
||||
}
|
||||
@@ -50,4 +50,4 @@ fun test() {
|
||||
<!UNRESOLVED_REFERENCE!>p<!>.x = 43
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,36 +0,0 @@
|
||||
//KT-2960 Perform control flow checks for package property initializers
|
||||
|
||||
package b
|
||||
|
||||
class P {
|
||||
var x : Int = 0
|
||||
private set
|
||||
}
|
||||
|
||||
val p = P()
|
||||
var f = { -> p.x = 32 }
|
||||
|
||||
val o = object {
|
||||
fun run() {
|
||||
p.x = 4
|
||||
|
||||
val z : Int
|
||||
doSmth(<!UNINITIALIZED_VARIABLE!>z<!>)
|
||||
}
|
||||
}
|
||||
|
||||
val g = { ->
|
||||
val x: Int
|
||||
doSmth(<!UNINITIALIZED_VARIABLE!>x<!>)
|
||||
}
|
||||
|
||||
class A {
|
||||
val a : Int = 1
|
||||
get() {
|
||||
val x : Int
|
||||
doSmth(<!UNINITIALIZED_VARIABLE!>x<!>)
|
||||
return field
|
||||
}
|
||||
}
|
||||
|
||||
fun doSmth(i: Int) = i
|
||||
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
//KT-2960 Perform control flow checks for package property initializers
|
||||
|
||||
package b
|
||||
|
||||
@@ -1,17 +0,0 @@
|
||||
open class X(s : String) {
|
||||
public var n: String = s
|
||||
private set
|
||||
|
||||
}
|
||||
|
||||
class Z : X("subclass") {
|
||||
fun print(): String {
|
||||
n = n
|
||||
return n;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
fun box() : String {
|
||||
return Z().print() //error
|
||||
}
|
||||
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
open class X(s : String) {
|
||||
public var n: String = s
|
||||
private set
|
||||
|
||||
Reference in New Issue
Block a user