FinishMarker: use the first movable value when mayNeedMarker is true (may generate shorter code)

This commit is contained in:
Tagir Valeev
2019-04-19 15:02:32 +07:00
parent 6a6fbb0232
commit 723c055455
5 changed files with 43 additions and 11 deletions
@@ -1,13 +1,12 @@
// "Transform body to single exit-point form" "true"
class Test {
String test2(List<String> list, String foo, String bar) {
String result = null;
String result = foo;
boolean finished = false;
for (String s : list) {
for (int i = 0; i < 10; i++) {
bar = s;
if (s.length() == i) {
result = foo;
finished = true;
break;
}
@@ -0,0 +1,18 @@
// "Transform body to single exit-point form" "true"
class Test {
String test(int i) {
String result = null;
boolean finished = false;
if (i > 0) {
if (i == 10) {
finished = true;
} else {
System.out.println(i);
}
}
if (!finished) {
result = String.valueOf(i);
}
return result;
}
}
@@ -0,0 +1,10 @@
// "Transform body to single exit-point form" "true"
class Test {
String <caret>test(int i) {
if (i > 0) {
if (i == 10) return null;
System.out.println(i);
}
return String.valueOf(i);
}
}