FirPropertyAccessorChecker: add three new diagnostics
This commit is contained in:
@@ -17,7 +17,7 @@ class Test: ATest(), ITest {
|
||||
|
||||
override var prop2 : Int
|
||||
get() = 14
|
||||
internal set(value) {}
|
||||
<!SETTER_VISIBILITY_INCONSISTENT_WITH_PROPERTY_VISIBILITY!>internal<!> set(value) {}
|
||||
}
|
||||
|
||||
fun main() {
|
||||
|
||||
@@ -1,25 +0,0 @@
|
||||
class My {
|
||||
var x: Int = 0
|
||||
// Ok
|
||||
private set
|
||||
|
||||
private var y: Int = 1
|
||||
// Error: better
|
||||
public set
|
||||
|
||||
protected var z: Int = 2
|
||||
// Ok
|
||||
private set
|
||||
|
||||
protected var w: Int = 3
|
||||
// Error: incompatible
|
||||
internal set
|
||||
|
||||
internal var v: Int = 4
|
||||
// Error: incompatible
|
||||
protected set
|
||||
|
||||
internal var t: Int = 5
|
||||
// Error: better
|
||||
public set
|
||||
}
|
||||
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
class My {
|
||||
var x: Int = 0
|
||||
// Ok
|
||||
|
||||
-12
@@ -1,12 +0,0 @@
|
||||
// KT-11809 Assertion error when delegated property has getter
|
||||
|
||||
class A {
|
||||
val p1 by this
|
||||
get
|
||||
|
||||
var p2 by this
|
||||
get() = ""
|
||||
|
||||
operator fun getValue(a: Any?, p: Any?) = ""
|
||||
operator fun setValue(a: Any?, p: Any?, v: Any?) {}
|
||||
}
|
||||
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// KT-11809 Assertion error when delegated property has getter
|
||||
|
||||
class A {
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
||||
|
||||
import kotlin.reflect.KProperty
|
||||
|
||||
val a: Int by Delegate()
|
||||
get() = 1
|
||||
|
||||
class Delegate {
|
||||
operator fun getValue(t: Any?, p: KProperty<*>): Int {
|
||||
return 1
|
||||
}
|
||||
}
|
||||
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
||||
|
||||
import kotlin.reflect.KProperty
|
||||
|
||||
@@ -1,15 +0,0 @@
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
||||
|
||||
import kotlin.reflect.KProperty
|
||||
|
||||
var a: Int by Delegate()
|
||||
get() = 1
|
||||
set(i) {}
|
||||
|
||||
class Delegate {
|
||||
operator fun getValue(t: Any?, p: KProperty<*>): Int {
|
||||
return 1
|
||||
}
|
||||
|
||||
operator fun setValue(t: Any?, p: KProperty<*>, i: Int) {}
|
||||
}
|
||||
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
||||
|
||||
import kotlin.reflect.KProperty
|
||||
|
||||
@@ -1,22 +0,0 @@
|
||||
class My {
|
||||
|
||||
lateinit var x: String
|
||||
private set
|
||||
|
||||
lateinit var y: String
|
||||
internal set
|
||||
|
||||
lateinit protected var z: String
|
||||
private set
|
||||
|
||||
lateinit private var w: String
|
||||
// Ok, private var / private set
|
||||
private set
|
||||
|
||||
lateinit protected var v: String
|
||||
public set
|
||||
|
||||
lateinit public var u: String
|
||||
// Ok, public var / public set
|
||||
public set
|
||||
}
|
||||
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
class My {
|
||||
|
||||
lateinit var x: String
|
||||
|
||||
@@ -6,7 +6,7 @@ class A() {
|
||||
field = value
|
||||
}
|
||||
val y: Int
|
||||
get(): String = "s"
|
||||
get(): <!WRONG_GETTER_RETURN_TYPE("Getter return type must be equal to the type of the property, i.e. 'kotlin/Int'")!>String<!> = "s"
|
||||
val z: Int
|
||||
get() {
|
||||
return "s"
|
||||
@@ -17,7 +17,7 @@ class A() {
|
||||
field = v
|
||||
}
|
||||
val b: Int
|
||||
get(): Any = "s"
|
||||
get(): <!WRONG_GETTER_RETURN_TYPE!>Any<!> = "s"
|
||||
val c: Int
|
||||
get() {
|
||||
return 1
|
||||
@@ -27,7 +27,7 @@ class A() {
|
||||
return field
|
||||
}
|
||||
val e = 1
|
||||
get(): String {
|
||||
get(): <!WRONG_GETTER_RETURN_TYPE!>String<!> {
|
||||
return field
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -8,5 +8,5 @@ class My {
|
||||
val another: String = delegate
|
||||
|
||||
var delegateWithBackingField: String by kotlin.properties.Delegates.notNull()
|
||||
private set(arg) { <!UNRESOLVED_REFERENCE!>field<!> = arg }
|
||||
<!ACCESSOR_FOR_DELEGATED_PROPERTY!>private set(arg) { <!UNRESOLVED_REFERENCE!>field<!> = arg }<!>
|
||||
}
|
||||
|
||||
Vendored
+1
-1
@@ -45,7 +45,7 @@ interface B {
|
||||
@JvmStatic get
|
||||
|
||||
private var foo8 = 1
|
||||
@JvmStatic public set
|
||||
@JvmStatic <!SETTER_VISIBILITY_INCONSISTENT_WITH_PROPERTY_VISIBILITY!>public<!> set
|
||||
|
||||
public var foo9 = 1
|
||||
@JvmStatic private set
|
||||
|
||||
+1
-1
@@ -47,7 +47,7 @@ interface B {
|
||||
@JvmStatic get
|
||||
|
||||
private var foo8 = 1
|
||||
@JvmStatic public set
|
||||
@JvmStatic <!SETTER_VISIBILITY_INCONSISTENT_WITH_PROPERTY_VISIBILITY!>public<!> set
|
||||
|
||||
public var foo9 = 1
|
||||
@JvmStatic private set
|
||||
|
||||
+1
-1
@@ -46,7 +46,7 @@ interface B {
|
||||
@JvmStatic get
|
||||
|
||||
private var foo8 = 1
|
||||
@JvmStatic public set
|
||||
@JvmStatic <!SETTER_VISIBILITY_INCONSISTENT_WITH_PROPERTY_VISIBILITY!>public<!> set
|
||||
|
||||
public var foo9 = 1
|
||||
@JvmStatic private set
|
||||
|
||||
Reference in New Issue
Block a user