Java: If a variable is defined in the extracted part and reused later in the code declare it after the extracted part (IDEA-178180)

This commit is contained in:
Pavel Dolgov
2017-09-05 13:08:21 +03:00
parent 7723bc0168
commit 62967da977
7 changed files with 76 additions and 6 deletions
@@ -0,0 +1,32 @@
import org.jetbrains.annotations.Nullable;
public class OutputVariableReused {
static class X {
X(String s) {}
}
String convert(String s, String s1, String s2) {
return s + s1 + s2;
}
public X test(String s, String left, String right) {
X res1 = newMethod(s, left, right);
if (res1 != null) return res1;
String res;
res = convert(s, right, left);
if (res != null) {
return new X(res);
}
return null;
}
@Nullable
private X newMethod(String s, String left, String right) {
String res = convert(s, left, right);
if (res != null) {
return new X(res);
}
return null;
}
}