[FIR JS] Support DYNAMIC_RECEIVER_NOT_ALLOWED
This commit is contained in:
committed by
Space Team
parent
0f876f665a
commit
227969d787
-9
@@ -1,9 +0,0 @@
|
||||
object X1
|
||||
object X2
|
||||
|
||||
class Inv<T>
|
||||
|
||||
fun dynamic.foo() = X1
|
||||
fun <T> Inv<T>.foo() = X2
|
||||
|
||||
fun test(): X2 = Inv<Any>().foo()
|
||||
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
object X1
|
||||
object X2
|
||||
|
||||
|
||||
+1
-1
@@ -41,7 +41,7 @@ fun testReassignmentWithStaticCalls(d: dynamic) {
|
||||
val Any.onAnyVal: Int get() = 1
|
||||
val Any?.onNullableAnyVal: Int get() = 1
|
||||
val String.onStringVal: Int get() = 1
|
||||
val dynamic.onDynamicVal: Int get() = 1
|
||||
val <!DYNAMIC_RECEIVER_NOT_ALLOWED!>dynamic<!>.onDynamicVal: Int get() = 1
|
||||
|
||||
class C {
|
||||
fun test(d: dynamic) {
|
||||
|
||||
+1
-1
@@ -47,7 +47,7 @@ var String.onStringVar: Int
|
||||
get() = 1
|
||||
set(v) {}
|
||||
|
||||
var dynamic.onDynamicVar: Int
|
||||
var <!DYNAMIC_RECEIVER_NOT_ALLOWED!>dynamic<!>.onDynamicVar: Int
|
||||
get() = 1
|
||||
set(v) {}
|
||||
|
||||
|
||||
+1
-1
@@ -25,7 +25,7 @@ fun test(d: dynamic) {
|
||||
fun Any.onAny() {}
|
||||
fun Any?.onNullableAny() {}
|
||||
fun String.onString() {}
|
||||
fun dynamic.onDynamic() {}
|
||||
fun <!DYNAMIC_RECEIVER_NOT_ALLOWED!>dynamic<!>.onDynamic() {}
|
||||
|
||||
class C {
|
||||
fun test(d: dynamic) {
|
||||
|
||||
+7
-7
@@ -11,7 +11,7 @@ fun test(d: dynamic) {
|
||||
d.<!DEBUG_INFO_DYNAMIC!>varOnDynamic<!> = 1
|
||||
}
|
||||
|
||||
fun dynamic.extTest() {
|
||||
fun <!DYNAMIC_RECEIVER_NOT_ALLOWED!>dynamic<!>.extTest() {
|
||||
<!DEBUG_INFO_DYNAMIC!>onDynamic<!>()
|
||||
<!DEBUG_INFO_DYNAMIC!>onNullableDynamic<!>()
|
||||
|
||||
@@ -32,12 +32,12 @@ fun dynamic.extTest() {
|
||||
|
||||
}
|
||||
|
||||
fun dynamic.onDynamic() {}
|
||||
fun dynamic?.onNullableDynamic() {}
|
||||
fun <!DYNAMIC_RECEIVER_NOT_ALLOWED!>dynamic<!>.onDynamic() {}
|
||||
fun <!DYNAMIC_RECEIVER_NOT_ALLOWED!>dynamic?<!>.onNullableDynamic() {}
|
||||
|
||||
val dynamic.valOnDynamic: Int get() = 1
|
||||
val <!DYNAMIC_RECEIVER_NOT_ALLOWED!>dynamic<!>.valOnDynamic: Int get() = 1
|
||||
|
||||
var dynamic.varOnDynamic: Int
|
||||
var <!DYNAMIC_RECEIVER_NOT_ALLOWED!>dynamic<!>.varOnDynamic: Int
|
||||
get() = 1
|
||||
set(v) {}
|
||||
|
||||
@@ -51,8 +51,8 @@ class ForMemberExtensions {
|
||||
d.<!DEBUG_INFO_DYNAMIC!>memberExtensionVal<!> = 1
|
||||
}
|
||||
|
||||
val dynamic.memberExtensionVal: Int get() = 1
|
||||
var dynamic.memberExtensionVar: Int
|
||||
val <!DYNAMIC_RECEIVER_NOT_ALLOWED!>dynamic<!>.memberExtensionVal: Int get() = 1
|
||||
var <!DYNAMIC_RECEIVER_NOT_ALLOWED!>dynamic<!>.memberExtensionVar: Int
|
||||
get() = 1
|
||||
set(v) {}
|
||||
}
|
||||
|
||||
Vendored
-18
@@ -1,18 +0,0 @@
|
||||
fun dynamic.test() {
|
||||
val v1 = foo()
|
||||
v1.isDynamic() // to check that anything is resolvable
|
||||
|
||||
val v2 = foo(1)
|
||||
v2.isDynamic() // to check that anything is resolvable
|
||||
|
||||
val v3 = foo(1, "")
|
||||
v3.isDynamic() // to check that anything is resolvable
|
||||
|
||||
val v4 = foo<String>()
|
||||
v4.isDynamic() // to check that anything is resolvable
|
||||
|
||||
val v5 = foo
|
||||
v5.isDynamic() // to check that anything is resolvable
|
||||
|
||||
foo = 1
|
||||
}
|
||||
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
fun <!DYNAMIC_RECEIVER_NOT_ALLOWED!>dynamic<!>.test() {
|
||||
val v1 = foo()
|
||||
v1.isDynamic() // to check that anything is resolvable
|
||||
|
||||
-11
@@ -1,11 +0,0 @@
|
||||
// !MARK_DYNAMIC_CALLS
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
||||
|
||||
fun dynamic.foo(s: String, a: Any) {}
|
||||
fun dynamic.foo(s: Any, a: String) {}
|
||||
|
||||
fun test(d: dynamic) {
|
||||
d.<!DEBUG_INFO_DYNAMIC!>foo<!>(1, "")
|
||||
d.<!DEBUG_INFO_DYNAMIC!>foo<!>("", "")
|
||||
d.<!DEBUG_INFO_DYNAMIC!>foo<!>(1, 1)
|
||||
}
|
||||
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// !MARK_DYNAMIC_CALLS
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
||||
|
||||
|
||||
Vendored
+2
-2
@@ -1,7 +1,7 @@
|
||||
// !MARK_DYNAMIC_CALLS
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
||||
|
||||
fun dynamic.test() {
|
||||
fun <!DYNAMIC_RECEIVER_NOT_ALLOWED!>dynamic<!>.test() {
|
||||
<!DEBUG_INFO_DYNAMIC!>foo<!>()
|
||||
<!DEBUG_INFO_DYNAMIC!>ext<!>()
|
||||
|
||||
@@ -57,7 +57,7 @@ class C {
|
||||
|
||||
val withInvoke = WithInvoke()
|
||||
|
||||
fun dynamic.test() {
|
||||
fun <!DYNAMIC_RECEIVER_NOT_ALLOWED!>dynamic<!>.test() {
|
||||
s()
|
||||
this()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user