FIR: introduce delegate diagnostics
This commit adds diagnostics for the following * DELEGATE_SPECIAL_FUNCTION_MISSING * DELEGATE_SPECIAL_FUNCTION_AMBIGUITY * DELEGATE_SPECIAL_FUNCTION_NONE_APPLICABLE
This commit is contained in:
committed by
Mikhail Glukhikh
parent
454ae3b17a
commit
b5caa658d6
compiler/testData/diagnostics/tests/delegatedProperty/inference/differentDelegatedExpressions.fir.kt
Vendored
+2
-2
@@ -12,8 +12,8 @@ class A(outer: Outer) {
|
||||
|
||||
var b: String by foo(getMyProperty())
|
||||
var r: String by foo(outer.getContainer().getMyProperty())
|
||||
var e: String by + foo(getMyProperty())
|
||||
var f: String by foo(getMyProperty()) - 1
|
||||
var e: String by <!DELEGATE_SPECIAL_FUNCTION_NONE_APPLICABLE!>+ foo(getMyProperty())<!>
|
||||
var f: String by <!DELEGATE_SPECIAL_FUNCTION_NONE_APPLICABLE!>foo(getMyProperty()) - 1<!>
|
||||
}
|
||||
|
||||
fun <A, B> foo(a: Any?) = MyProperty<A, B>()
|
||||
|
||||
+2
-2
@@ -4,10 +4,10 @@ package foo
|
||||
import kotlin.reflect.KProperty
|
||||
|
||||
open class A {
|
||||
val B.w: Int by <!ARGUMENT_TYPE_MISMATCH!>MyProperty()<!>
|
||||
val B.w: Int by <!DELEGATE_SPECIAL_FUNCTION_NONE_APPLICABLE!>MyProperty()<!>
|
||||
}
|
||||
|
||||
val B.r: Int by <!ARGUMENT_TYPE_MISMATCH!>MyProperty()<!>
|
||||
val B.r: Int by <!DELEGATE_SPECIAL_FUNCTION_NONE_APPLICABLE!>MyProperty()<!>
|
||||
|
||||
val A.e: Int by MyProperty()
|
||||
|
||||
|
||||
Vendored
+1
-1
@@ -25,4 +25,4 @@ class C<R>() {
|
||||
}
|
||||
|
||||
var c1: Int by C()
|
||||
var c2: Int by C<Number>()
|
||||
var c2: Int by <!DELEGATE_SPECIAL_FUNCTION_NONE_APPLICABLE!>C<Number>()<!>
|
||||
|
||||
Vendored
+1
-1
@@ -5,7 +5,7 @@ package test
|
||||
import first.*
|
||||
import second.*
|
||||
|
||||
val a12 by <!OVERLOAD_RESOLUTION_AMBIGUITY!>A<!>()
|
||||
val a12 by <!DELEGATE_SPECIAL_FUNCTION_AMBIGUITY!>A()<!>
|
||||
|
||||
// FILE: first.kt
|
||||
package first
|
||||
|
||||
+4
-4
@@ -4,8 +4,8 @@ package foo
|
||||
import kotlin.reflect.KProperty
|
||||
|
||||
class A {
|
||||
var a5: String by MyProperty1()
|
||||
var b5: String by getMyProperty1()
|
||||
var a5: String by <!DELEGATE_SPECIAL_FUNCTION_NONE_APPLICABLE!>MyProperty1()<!>
|
||||
var b5: String by <!DELEGATE_SPECIAL_FUNCTION_NONE_APPLICABLE!>getMyProperty1()<!>
|
||||
}
|
||||
|
||||
fun <A, B> getMyProperty1() = MyProperty1<A, B>()
|
||||
@@ -24,8 +24,8 @@ class MyProperty1<T, R> {
|
||||
// -----------------
|
||||
|
||||
class B {
|
||||
var a5: String by MyProperty2()
|
||||
var b5: String by getMyProperty2()
|
||||
var a5: String by <!DELEGATE_SPECIAL_FUNCTION_NONE_APPLICABLE!>MyProperty2()<!>
|
||||
var b5: String by <!DELEGATE_SPECIAL_FUNCTION_NONE_APPLICABLE!>getMyProperty2()<!>
|
||||
}
|
||||
|
||||
fun <A, B> getMyProperty2() = MyProperty2<A, B>()
|
||||
|
||||
Reference in New Issue
Block a user