JS: prohibit dynamic on RHS of in and !in operators (see KT-6579)

This commit is contained in:
Alexey Andreev
2016-12-08 17:31:20 +03:00
parent fc6eaa015f
commit a2d45153ba
9 changed files with 34 additions and 73 deletions
@@ -9,10 +9,6 @@ public final fun div(/*0*/ p0: dynamic): dynamic
public final fun mod(/*0*/ p0: dynamic): dynamic
public final fun rangeTo(/*0*/ p0: dynamic): dynamic
public final fun and(/*0*/ p0: dynamic): dynamic
public final fun contains(/*0*/ p0: dynamic): dynamic
public final fun contains(/*0*/ p0: dynamic): dynamic
public final fun contains(/*0*/ p0: dynamic): dynamic
public final fun contains(/*0*/ p0: dynamic): dynamic
public final fun get(/*0*/ p0: dynamic): dynamic
public final fun set(/*0*/ p0: dynamic, /*1*/ p1: dynamic): dynamic
public final fun get(/*0*/ p0: dynamic): dynamic
@@ -20,12 +20,6 @@ fun test(d: dynamic) {
d <!DEBUG_INFO_DYNAMIC!>and<!> d
d <!DEBUG_INFO_DYNAMIC!>in<!> d
d <!DEBUG_INFO_DYNAMIC!>!in<!> d
1 <!DEBUG_INFO_DYNAMIC!>in<!> d
1 <!DEBUG_INFO_DYNAMIC!>!in<!> d
<!DEBUG_INFO_DYNAMIC!>d[1]<!>
<!DEBUG_INFO_DYNAMIC!>d[1]<!> = 2
@@ -0,0 +1,4 @@
public final fun contains(/*0*/ p0: dynamic): dynamic
public final fun contains(/*0*/ p0: dynamic): dynamic
public final fun contains(/*0*/ p0: dynamic): dynamic
public final fun contains(/*0*/ p0: dynamic): dynamic
@@ -0,0 +1,12 @@
fun foo() {
val a: dynamic = Any()
println(a in setOf(1, 2))
println(1 <!WRONG_OPERATION_WITH_DYNAMIC!>in<!> a)
println(1 <!WRONG_OPERATION_WITH_DYNAMIC!>!in<!> a)
when (2) {
<!WRONG_OPERATION_WITH_DYNAMIC!>in<!> a -> println("ok")
}
when (3) {
<!WRONG_OPERATION_WITH_DYNAMIC!>!in<!> a -> println("ok")
}
}
@@ -0,0 +1,3 @@
package
public fun foo(): kotlin.Unit