FIR: fix position and reporting of PRIVATE_SETTER_*
Previously `FirPropertyAccessor.source` references the `KtProperty` if the user code contains a setter or getter that doesn't contain a body. For example, with the following ``` val i: Int = 1 private set ``` The `FirPropertyAccessor` would reference the `KtProperty` as the source. This change makes `FirPropertyAccessor` reference `KtPropertyAccessor` as the source if possible, regardless of whether the body is present or not.
This commit is contained in:
committed by
Mikhail Glukhikh
parent
bdeecfc188
commit
5bdea9652b
@@ -31,40 +31,40 @@ class B : A, AA() {
|
||||
open class C : A, AA() {
|
||||
override var a: Int = 0
|
||||
// Errors here and below
|
||||
private set
|
||||
<!PRIVATE_SETTER_FOR_OPEN_PROPERTY!>private<!> set
|
||||
|
||||
override var b: Int = 1
|
||||
private set
|
||||
<!PRIVATE_SETTER_FOR_OPEN_PROPERTY!>private<!> set
|
||||
|
||||
override var c: Int = 2
|
||||
private set
|
||||
<!PRIVATE_SETTER_FOR_OPEN_PROPERTY!>private<!> set
|
||||
|
||||
override var d: Int = 3
|
||||
private set
|
||||
<!PRIVATE_SETTER_FOR_OPEN_PROPERTY!>private<!> set
|
||||
}
|
||||
|
||||
abstract class D : A, AA() {
|
||||
override var a: Int = 0
|
||||
// Errors here and below
|
||||
private set
|
||||
<!PRIVATE_SETTER_FOR_OPEN_PROPERTY!>private<!> set
|
||||
|
||||
override var b: Int = 1
|
||||
private set
|
||||
<!PRIVATE_SETTER_FOR_OPEN_PROPERTY!>private<!> set
|
||||
|
||||
override var c: Int = 2
|
||||
private set
|
||||
<!PRIVATE_SETTER_FOR_OPEN_PROPERTY!>private<!> set
|
||||
|
||||
override var d: Int = 3
|
||||
private set
|
||||
<!PRIVATE_SETTER_FOR_OPEN_PROPERTY!>private<!> set
|
||||
}
|
||||
|
||||
interface E : A {
|
||||
override var a: Int
|
||||
get() = 0
|
||||
// Errors here and below
|
||||
<!PRIVATE_SETTER_FOR_OPEN_PROPERTY!>private set(arg) {}<!>
|
||||
<!PRIVATE_SETTER_FOR_OPEN_PROPERTY!>private<!> set(arg) {}
|
||||
|
||||
override var b: Int
|
||||
get() = 0
|
||||
<!PRIVATE_SETTER_FOR_OPEN_PROPERTY!>private set(arg) {}<!>
|
||||
}
|
||||
<!PRIVATE_SETTER_FOR_OPEN_PROPERTY!>private<!> set(arg) {}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user