Use stricter assertions in for-loop bytecode text tests.

This commit is contained in:
Mark Punzalan
2019-04-03 13:22:16 -07:00
committed by max-kammerer
parent dd65e0876f
commit a0940b1342
22 changed files with 82 additions and 31 deletions

View File

@@ -1,8 +1,11 @@
const val M = Char.MIN_VALUE
fun f(a: Char) {
fun f(a: Char): Int {
var n = 0
for (i in a downTo M) {
n++
}
return n
}
// 0 iterator

View File

@@ -1,8 +1,11 @@
const val M = Int.MIN_VALUE
fun f(a: Int) {
fun f(a: Int): Int {
var n = 0
for (i in a downTo M) {
n++
}
return n
}
// 0 iterator
@@ -11,4 +14,5 @@ fun f(a: Int) {
// 0 getFirst
// 0 getLast
// 0 getStep
// 2 IF_ICMP
// 2 IF_ICMP
// 2 IF

View File

@@ -1,8 +1,11 @@
const val M = Long.MIN_VALUE
fun f(a: Long) {
fun f(a: Long): Int {
var n = 0
for (i in a downTo M) {
n++
}
return n
}
// 0 iterator

View File

@@ -10,5 +10,5 @@ fun test() {
// 0 getEnd
// 0 getFirst
// 0 getLast
// 1 IF_ICMP
// 1 IF_ICMPGE
// 1 IF

View File

@@ -10,5 +10,5 @@ fun test() {
// 0 getEnd
// 0 getFirst
// 0 getLast
// 1 IF_ICMP
// 1 IF_ICMPGE
// 1 IF

View File

@@ -1,11 +1,15 @@
fun array() = arrayOfNulls<Any>(4)
fun f() {
fun f(): Int {
var n = 0
for (i in array()) {
n++
}
return n
}
// 0 iterator
// 1 INVOKESTATIC .*\.array \(\)
// 1 ARRAYLENGTH
// 1 IF_ICMP
// 1 IF_ICMPGE
// 1 IF

View File

@@ -1,16 +1,21 @@
fun intArray() = intArrayOf(0, 0, 0, 0)
fun longArray() = longArrayOf(0, 0, 0, 0)
fun f() {
fun f(): Int {
var n = 0
for (i in intArray()) {
n++
}
for (i in longArray()) {
n++
}
return n
}
// 0 iterator
// 1 INVOKESTATIC .*\.intArray \(\)
// 1 INVOKESTATIC .*\.longArray \(\)
// 2 ARRAYLENGTH
// 2 IF_ICMP
// 2 IF_ICMPGE
// 2 IF

View File

@@ -14,4 +14,5 @@ fun test(): Int {
// 0 getFirst
// 0 getLast
// 0 getStep
// 1 IF_ICMP
// 1 IF_ICMPGT
// 1 IF

View File

@@ -1,8 +1,11 @@
const val M = Char.MAX_VALUE
fun f(a: Char) {
fun f(a: Char): Int {
var n = 0
for (i in a..M) {
n++
}
return n
}
// 0 iterator
@@ -11,4 +14,5 @@ fun f(a: Char) {
// 0 getFirst
// 0 getLast
// 0 getStep
// 2 IF_ICMP
// 2 IF_ICMP
// 2 IF

View File

@@ -14,4 +14,5 @@ fun test(): Int {
// 0 getFirst
// 0 getLast
// 0 getStep
// 1 IF_ICMP
// 1 IF_ICMPGT
// 1 IF

View File

@@ -1,8 +1,11 @@
const val M = Int.MAX_VALUE
fun f(a: Int) {
fun f(a: Int): Int {
var n = 0
for (i in a..M) {
n++
}
return n
}
// 0 iterator
@@ -11,4 +14,5 @@ fun f(a: Int) {
// 0 getFirst
// 0 getLast
// 0 getStep
// 2 IF_ICMP
// 2 IF_ICMP
// 2 IF

View File

@@ -15,7 +15,7 @@ fun test(): Long {
// 0 getLast
// 0 getStep
// 1 LCMP
// 0 IFEQ
// 1 IFGT
// 1 IF
// 0 L2I
// 0 I2L

View File

@@ -1,8 +1,11 @@
const val M = Long.MAX_VALUE
fun f(a: Long) {
fun f(a: Long): Int {
var n = 0
for (i in a..M) {
n++
}
return n
}
// 0 iterator

View File

@@ -17,4 +17,5 @@ fun test(): Int {
// 0 getFirst
// 0 getLast
// 0 getStep
// 1 IF_ICMP
// 1 IF_ICMPGT
// 1 IF

View File

@@ -11,4 +11,6 @@ fun Int.digitsUpto(end: Int): Int {
// 0 getEnd
// 0 getFirst
// 0 getLast
// 0 getStep
// 0 getStep
// 2 IF_ICMP
// 2 IF

View File

@@ -12,4 +12,5 @@ fun test(a: Int, b: Int): Int {
// 0 getFirst
// 0 getLast
// 0 getStep
// 1 IF_ICMP
// 1 IF_ICMPGE
// 1 IF

View File

@@ -1,8 +1,11 @@
const val M = Char.MAX_VALUE
fun f(a: Char) {
fun f(a: Char): Int {
var n = 0
for (i in a until M) {
n++
}
return n
}
// 0 iterator
@@ -11,4 +14,5 @@ fun f(a: Char) {
// 0 getFirst
// 0 getLast
// 0 getStep
// 1 IF_ICMP
// 1 IF_ICMPGE
// 1 IF

View File

@@ -1,8 +1,11 @@
const val M = Int.MAX_VALUE
fun f(a: Int) {
fun f(a: Int): Int {
var n = 0
for (i in a until M) {
n++
}
return n
}
// 0 iterator
@@ -11,4 +14,5 @@ fun f(a: Int) {
// 0 getFirst
// 0 getLast
// 0 getStep
// 1 IF_ICMP
// 1 IF_ICMPGE
// 1 IF

View File

@@ -1,8 +1,11 @@
const val M = Long.MAX_VALUE
fun f(a: Long) {
fun f(a: Long): Int {
var n = 0
for (i in a until M) {
n++
}
return n
}
// 0 iterator
@@ -12,4 +15,5 @@ fun f(a: Long) {
// 0 getLast
// 0 getStep
// 1 LCMP
// 1 IFGE
// 1 IF

View File

@@ -11,4 +11,5 @@ fun test(): Int {
// 0 getEnd
// 0 getFirst
// 0 getLast
// 1 IF_ICMP
// 1 IF_ICMP
// 1 IF

View File

@@ -9,4 +9,5 @@ fun f() {
// 0 getFirst
// 0 getLast
// 0 getStep
// 1 IF_ICMP
// 1 IF_ICMPGT
// 1 IF

View File

@@ -9,4 +9,5 @@ fun f(a: Int, b: Int) {
// 0 getFirst
// 0 getLast
// 0 getStep
// 2 IF_ICMP
// 2 IF_ICMP
// 2 IF