[FIR] Report PROPERTY_AS_OPERATOR for all operator conventions
^KT-62347 Fixed ^KT-59715 Fixed
This commit is contained in:
committed by
Space Team
parent
92c75fb7ab
commit
93563d7c80
@@ -1,17 +0,0 @@
|
||||
// TARGET_BACKEND: JVM_IR
|
||||
// IGNORE_BACKEND_K1: JVM_IR
|
||||
// ISSUE: KT-61633
|
||||
|
||||
class C<T3>(val p: T3)
|
||||
class D<T4>(val p: T4)
|
||||
|
||||
val <X3> C<X3>.getValue: D<X3> get() = D(p)
|
||||
operator fun <X4> D<X4>.invoke(x: Any?, y: Any?): X4 = p
|
||||
|
||||
fun foo(c: C<String>): String {
|
||||
val y1 by c
|
||||
|
||||
return y1
|
||||
}
|
||||
|
||||
fun box(): String = foo(C("OK"))
|
||||
@@ -12,11 +12,11 @@ val <X3> C<X3>.getValue: D<X3> get() = TODO()
|
||||
operator fun <X4> D<X4>.invoke(x: Any?, y: Any?): X4 = TODO()
|
||||
|
||||
fun foo(a: A<String>, c: C<String>) {
|
||||
val x1 by a
|
||||
val x1 by <!PROPERTY_AS_OPERATOR!>a<!>
|
||||
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String")!>x1<!>
|
||||
x1.length
|
||||
|
||||
val y1 by c
|
||||
val y1 by <!PROPERTY_AS_OPERATOR!>c<!>
|
||||
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String")!>y1<!>
|
||||
y1.length
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -67,7 +67,7 @@ fun useSet() { <!PROPERTY_AS_OPERATOR!>e[1]<!> = 3 }
|
||||
|
||||
val E.contains: I get() = I()
|
||||
val useContains = 1 <!PROPERTY_AS_OPERATOR!>in<!> e
|
||||
val useNotContains = 1 <!PROPERTY_AS_OPERATOR!>!in<!> e
|
||||
val useNotContains = 1 <!PROPERTY_AS_OPERATOR, PROPERTY_AS_OPERATOR!>!in<!> e
|
||||
|
||||
val E.invoke: I get() = I()
|
||||
val useInvoke = <!NONE_APPLICABLE!>e<!>()
|
||||
|
||||
Vendored
-23
@@ -1,23 +0,0 @@
|
||||
// ISSUE: KT-59715
|
||||
|
||||
class FunctionComponent {
|
||||
val component1: () -> String = { "hello" }
|
||||
}
|
||||
|
||||
class I {
|
||||
operator fun invoke(): String = "hello"
|
||||
}
|
||||
|
||||
class InvokeComponent {
|
||||
val component1: I = I()
|
||||
}
|
||||
|
||||
fun test_1(c: FunctionComponent) {
|
||||
val (x) = FunctionComponent()
|
||||
val (y) = c
|
||||
}
|
||||
|
||||
fun test_2(c: InvokeComponent) {
|
||||
val (x) = FunctionComponent()
|
||||
val (y) = c
|
||||
}
|
||||
Vendored
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// ISSUE: KT-59715
|
||||
|
||||
class FunctionComponent {
|
||||
|
||||
Reference in New Issue
Block a user