Java: Fixed safe-deleting variable used in 'for' loop's update or init clause (IDEA-180217)

This commit is contained in:
Pavel Dolgov
2017-10-11 15:35:05 +03:00
parent 24a6c66183
commit 8e22643771
12 changed files with 109 additions and 4 deletions
@@ -0,0 +1,11 @@
class C {
Object foo = null;
void case01() {
Object problematic;
int i = 10;
for(<caret>problematic = foo; (--i) > 0; ) {
System.out.println("index = " + i);
}
}
}
@@ -0,0 +1,10 @@
class C {
Object foo = null;
void case01() {
int i = 10;
for(; (--i) > 0; ) {
System.out.println("index = " + i);
}
}
}
@@ -0,0 +1,11 @@
class C {
Object foo = null;
void case01() {
Object problematic;
int i;
for(i = 10, <caret>problematic = foo; (--i) > 0; ) {
System.out.println("index = " + i);
}
}
}
@@ -0,0 +1,10 @@
class C {
Object foo = null;
void case01() {
int i;
for(i = 10; (--i) > 0; ) {
System.out.println("index = " + i);
}
}
}
@@ -0,0 +1,10 @@
class C {
Object foo = null;
void case01() {
Object problematic;
for(int i = 10; (--i) > 0; <caret>problematic = foo) {
System.out.println("index = " + i);
}
}
}
@@ -0,0 +1,9 @@
class C {
Object foo = null;
void case01() {
for(int i = 10; (--i) > 0; ) {
System.out.println("index = " + i);
}
}
}
@@ -0,0 +1,10 @@
class C {
Object foo = null;
void case02() {
Object problematic;
for(int i = 10; i > 0; i--, <caret>problematic = foo) {
System.out.println("index = " + i);
}
}
}
@@ -0,0 +1,9 @@
class C {
Object foo = null;
void case02() {
for(int i = 10; i > 0; i--) {
System.out.println("index = " + i);
}
}
}