Skip to content

Commit b6a48d4

Browse files
authored
Add test for Expression Optimization Issue (#449)
1 parent 5ef24cb commit b6a48d4

File tree

3 files changed

+69
-0
lines changed

3 files changed

+69
-0
lines changed

test/org/jetbrains/java/decompiler/SingleClassesTest.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -710,6 +710,8 @@ private void registerDefault() {
710710
// TODO: broken stack processing, deleted ternary!
711711
register(JAVA_17, "TestPatternMatchingLoops");
712712
register(JAVA_8, "TestBoxingSuperclass");
713+
// TODO: shouldBeOne is completely deleted
714+
register(JAVA_8, "TestLVTReassignment");
713715
}
714716

715717
private void registerEntireClassPath() {
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
package pkg;
2+
3+
public class TestLVTReassignment {
4+
public void test() {
5+
double one = 1.0;// 5
6+
one = 0.0;// 7
7+
if (one > 1.0) {// 8
8+
}
9+
10+
this.blackhole(one);// 6 11
11+
}// 12
12+
13+
void blackhole(double value) {
14+
}// 16
15+
}
16+
17+
class 'pkg/TestLVTReassignment' {
18+
method 'test ()V' {
19+
0 4
20+
1 4
21+
2 9
22+
4 5
23+
5 5
24+
6 6
25+
7 6
26+
8 6
27+
9 6
28+
a 6
29+
b 6
30+
c 9
31+
d 9
32+
e 9
33+
f 9
34+
10 9
35+
11 10
36+
}
37+
38+
method 'blackhole (D)V' {
39+
0 13
40+
}
41+
}
42+
43+
Lines mapping:
44+
5 <-> 5
45+
6 <-> 10
46+
7 <-> 6
47+
8 <-> 7
48+
11 <-> 10
49+
12 <-> 11
50+
16 <-> 14
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
package pkg;
2+
3+
public class TestLVTReassignment {
4+
public void test() {
5+
double one = 1;
6+
double shouldBeOne = one;
7+
one = 0;
8+
if (one > 1) {
9+
}
10+
11+
blackhole(shouldBeOne);
12+
}
13+
14+
void blackhole(double value) {
15+
16+
}
17+
}

0 commit comments

Comments
 (0)