Files
kotlin-fork/js/js.translator/testData/js-optimizer/do-while-guard-elimination/innerBreakInLoopWithoutLabel.original.js
T
Alexey Andreev b3d29adad9 KT-12275 Add JS optimization that transforms the following code
```
do {
    guard: {
        // do something
        break guard;
        // do something
    }
} while (condition)
```

to

```
do {
    // do something
    continue;
    // do something
} while (condition)
```
2016-07-25 18:32:10 +03:00

22 lines
477 B
JavaScript
Vendored

function box() {
var i = 0;
var counter = 0;
var sum = 0;
do {
guard$: {
i++;
if (i < 5) {
for (var j = 0; j < 10; ++j) {
counter += j;
if (j == 3 && i == 2) break guard$;
}
}
sum += i;
}
} while (i < 10);
if (sum != 53) return "fail1: " + sum;
if (counter != 141) return "fail2: " + counter;
return "OK";
}