KT-6527 Wrong diagnostics when compare dynamic to null

#KT-6527 Fixed
This commit is contained in:
Andrey Breslav
2015-02-21 14:45:31 +03:00
parent a00a118f94
commit b0422990d9
10 changed files with 56 additions and 9 deletions
@@ -0,0 +1,8 @@
public final fun get(/*0*/ p0: dynamic): dynamic
public final fun get(/*0*/ p0: dynamic): dynamic
public final var foo: dynamic
public final fun <get-foo>(): dynamic
public final fun <set-foo>(/*0*/ <set-?>: dynamic): kotlin.Unit
public final var foo: dynamic
public final fun <get-foo>(): dynamic
public final fun <set-foo>(/*0*/ <set-?>: dynamic): kotlin.Unit
@@ -0,0 +1,10 @@
// !DIAGNOSTICS: -UNUSED_VARIABLE
fun test(d: dynamic) {
d == null
d != null
d["foo"] == null
d["foo"] != null
d.foo == null
d.foo != null
}
@@ -0,0 +1,3 @@
package
internal fun test(/*0*/ d: dynamic): kotlin.Unit
@@ -7,8 +7,12 @@ fun test(d: dynamic) {
d?.<!DEBUG_INFO_DYNAMIC!>onAnyVal<!>
d?.<!DEBUG_INFO_DYNAMIC!>onAnyVal<!> = 1
d!!.<!DEBUG_INFO_DYNAMIC!>onAnyVal<!>
d!!.<!DEBUG_INFO_DYNAMIC!>onAnyVal<!> = 1
run {
d!!.<!DEBUG_INFO_DYNAMIC!>onAnyVal<!>
}
run {
d!!.<!DEBUG_INFO_DYNAMIC!>onAnyVal<!> = 1
}
d.<!DEBUG_INFO_DYNAMIC!>onNullableAnyVal<!> = 1
@@ -7,8 +7,13 @@ fun test(d: dynamic) {
d?.<!DEBUG_INFO_DYNAMIC!>onAnyVar<!>
d?.<!DEBUG_INFO_DYNAMIC!>onAnyVar<!> = 1
d!!.<!DEBUG_INFO_DYNAMIC!>onAnyVar<!>
d!!.<!DEBUG_INFO_DYNAMIC!>onAnyVar<!> = 1
run {
d!!.<!DEBUG_INFO_DYNAMIC!>onAnyVar<!>
}
run {
d!!.<!DEBUG_INFO_DYNAMIC!>onAnyVar<!> = 1
}
d.<!DEBUG_INFO_DYNAMIC!>onNullableAnyVar<!> = 1
@@ -3,7 +3,9 @@
fun test(d: dynamic) {
d.<!DEBUG_INFO_DYNAMIC!>onAny<!>()
d?.<!DEBUG_INFO_DYNAMIC!>onAny<!>()
d!!.<!DEBUG_INFO_DYNAMIC!>onAny<!>()
run {
d!!.<!DEBUG_INFO_DYNAMIC!>onAny<!>()
}
d.<!DEBUG_INFO_DYNAMIC!>onAny<!>(1)
@@ -5,13 +5,19 @@ fun test(d: dynamic) {
d.equals(1)
d?.equals(1)
d!!.equals(1)
run {
d!!.equals(1)
}
d.hashCode()
d?.hashCode()
d!!.hashCode()
run {
d!!.hashCode()
}
d.toString()
d?.toString()
d!!.toString()
run {
d!!.toString()
}
}