[FIR] Implement DIVISION_BY_ZERO diagnostics, fix tests

This commit is contained in:
Ivan Kochurkin
2021-04-08 18:48:42 +03:00
committed by TeamCityServer
parent 964bba3530
commit 847ab40707
14 changed files with 78 additions and 11 deletions
@@ -2,17 +2,21 @@
// !WITH_NEW_INFERENCE
val a1 = 0
val a2 = 1 / 0
val a2 = <!DIVISION_BY_ZERO!>1 / 0<!>
val a3 = 1 / a1
val a4 = 1 / a2
val a5 = 2 * (1 / 0)
val a5 = 2 * (<!DIVISION_BY_ZERO!>1 / 0<!>)
val a6 = 1.div(0)
val a6 = <!DIVISION_BY_ZERO!>1.div(0)<!>
val a7 = 1.div(a1)
val a8 = 1.div(a2)
val a9 = 2 * (1.div(0))
val a9 = 2 * (<!DIVISION_BY_ZERO!>1.div(0)<!>)
val b1: Byte = 1 / 0
@Ann(1 / 0) val b2 = 1
val a10 = <!DIVISION_BY_ZERO!>1 / 0.0f<!>
val a11 = <!DIVISION_BY_ZERO!>1 / 0.0<!>
val a12 = <!DIVISION_BY_ZERO!>1L / 0<!>
annotation class Ann(val i : Int)
val b1: Byte = <!DIVISION_BY_ZERO!>1 / 0<!>
@Ann(<!DIVISION_BY_ZERO!>1 / 0<!>) val b2 = 1
annotation class Ann(val i : Int)
@@ -12,6 +12,10 @@ val a7 = <!DIVISION_BY_ZERO!>1.div(a1)<!>
val a8 = 1.div(a2)
val a9 = 2 * (<!DIVISION_BY_ZERO!>1.div(0)<!>)
val a10 = <!DIVISION_BY_ZERO!>1 / 0.0f<!>
val a11 = <!DIVISION_BY_ZERO!>1 / 0.0<!>
val a12 = <!DIVISION_BY_ZERO!>1L / 0<!>
val b1: Byte = <!DIVISION_BY_ZERO, TYPE_MISMATCH!>1 / 0<!>
@Ann(<!ANNOTATION_ARGUMENT_MUST_BE_CONST, DIVISION_BY_ZERO!>1 / 0<!>) val b2 = 1
@@ -1,6 +1,9 @@
package
public val a1: kotlin.Int = 0
public val a10: kotlin.Float = Infinity.toFloat()
public val a11: kotlin.Double = Infinity.toDouble()
public val a12: kotlin.Long
public val a2: kotlin.Int
public val a3: kotlin.Int
public val a4: kotlin.Int
@@ -19,3 +22,4 @@ public final annotation class Ann : kotlin.Annotation {
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}