KT-26629 Inspection to replace equality check with NaN with isNaN call

This commit is contained in:
Dereck Bridie
2019-03-21 18:19:10 +01:00
committed by Mikhail Glukhikh
parent 07e908f15f
commit 574178882a
18 changed files with 197 additions and 0 deletions
@@ -0,0 +1 @@
org.jetbrains.kotlin.idea.inspections.ConvertEqualsDoubleNaNInspection
@@ -0,0 +1,4 @@
// WITH_RUNTIME
fun test() {
val x = 0.5f <caret>!= Float.NaN
}
@@ -0,0 +1,4 @@
// WITH_RUNTIME
fun test() {
val x = !0.5f.isNaN()
}
@@ -0,0 +1,6 @@
// WITH_RUNTIME
import kotlin.Double.Companion.NaN
fun test() {
val t = NaN ==<caret> 5.0
}
@@ -0,0 +1,6 @@
// WITH_RUNTIME
import kotlin.Double.Companion.NaN
fun test() {
val t = 5.0.isNaN()
}
@@ -0,0 +1,4 @@
// WITH_RUNTIME
fun main() {
val result = 5.0 + 3.0 <caret>!= Double.NaN;
}
@@ -0,0 +1,4 @@
// WITH_RUNTIME
fun main() {
val result = !(5.0 + 3.0).isNaN();
}
@@ -0,0 +1,5 @@
// RUNTIME_WITH_FULL_JDK
fun test() {
val t = java.lang.Double.NaN ==<caret> 5.0
}
@@ -0,0 +1,5 @@
// RUNTIME_WITH_FULL_JDK
fun test() {
val t = 5.0.isNaN()
}
@@ -0,0 +1,6 @@
// RUNTIME_WITH_FULL_JDK
fun test() {
val a = 0.5f
val x = a ==<caret> java.lang.Float.NaN
}
@@ -0,0 +1,6 @@
// RUNTIME_WITH_FULL_JDK
fun test() {
val a = 0.5f
val x = a.isNaN()
}
@@ -0,0 +1,11 @@
// WITH_RUNTIME
// PROBLEM: none
class A {
val NaN = 0.3
}
fun test() {
val a = A()
val t = a.NaN ==<caret> 0.5
}
@@ -0,0 +1,4 @@
// WITH_RUNTIME
fun test() {
val t = <caret>5.0 == Double.NaN
}
@@ -0,0 +1,4 @@
// WITH_RUNTIME
fun test() {
val t = 5.0.isNaN()
}