IDEA-203119 Unwrap switch statement: support expressions

This commit is contained in:
Tagir Valeev
2018-11-28 19:00:05 +07:00
parent 81c9810bde
commit 0d96d61986
21 changed files with 158 additions and 36 deletions
@@ -1,4 +1,4 @@
// "Unwrap 'switch' statement" "true"
// "Remove unreachable branches" "true"
class Main {
static void fff() {
System.out.println("one");
@@ -1,4 +1,4 @@
// "Unwrap 'switch' statement" "true"
// "Remove unreachable branches" "true"
class Main {
static void fff(int x) {
if (x == 5) {
@@ -1,4 +1,4 @@
// "Unwrap 'switch' statement" "true"
// "Remove unreachable branches" "true"
class Main {
static void fff(int x) {
if (x == 5) {
@@ -0,0 +1,20 @@
// "Remove unreachable branches" "true"
class Main {
static void fff(int x) {
if (x == 5) {
//1
//2
//3
//4
//5
//6
//7
//other
System.out.println("five-ten-fifteen");
}
}
public static void main(String[] args) {
fff();
}
}
@@ -0,0 +1,24 @@
// "Remove unreachable branches" "true"
class Main {
static void fff(int x) {
if (x == 5) {
System.out.println(switch (x) {
//1
//2
//3
//4
case 5 -> {
System.out.println("something");
break "five-ten-fifteen"; //5
}
//6
//7
//other
});
}
}
public static void main(String[] args) {
fff();
}
}
@@ -1,4 +1,4 @@
// "Unwrap 'switch' statement" "true"
// "Remove unreachable branches" "true"
class Main {
static void fff(int x) {
if (x == 5) {
@@ -1,4 +1,4 @@
// "Unwrap 'switch' statement" "true"
// "Remove unreachable branches" "true"
class Main {
static void fff(int x) {
if (x == 5) {
@@ -1,4 +1,4 @@
// "Unwrap 'switch' statement" "true"
// "Remove unreachable branches" "true"
class Main {
static void fff(int x) {
if (x == 5) {
@@ -1,4 +1,4 @@
// "Unwrap 'switch' statement" "true"
// "Remove unreachable branches" "true"
class Main {
static void fff(int x) {
if (x == 5) {
@@ -1,4 +1,4 @@
// "Unwrap 'switch' statement" "true"
// "Remove unreachable branches" "true"
class Main {
static void fff() {
switch ("one") {
@@ -1,4 +1,4 @@
// "Unwrap 'switch' statement" "true"
// "Remove unreachable branches" "true"
class Main {
static void fff(int x) {
if (x == 5) {
@@ -1,4 +1,4 @@
// "Unwrap 'switch' statement" "true"
// "Remove unreachable branches" "true"
class Main {
static void fff(int x) {
if (x == 5) {
@@ -0,0 +1,21 @@
// "Remove unreachable branches" "true"
class Main {
static void fff(int x) {
if (x == 5) {
System.out.println(switch (x) {
case 1 -> "one"; //1
case 2 -> "two"; //2
case 3 -> "three"; //3
case 4 -> "four"; //4
case 0, <caret>5, 10 -> "five-ten-fifteen"; //5
case 6 -> "six"; //6
case 7 -> "seven"; //7
default -> "and more"; //other
});
}
}
public static void main(String[] args) {
fff();
}
}
@@ -0,0 +1,24 @@
// "Remove unreachable branches" "true"
class Main {
static void fff(int x) {
if (x == 5) {
System.out.println(switch (x) {
case 1 -> "one"; //1
case 2 -> "two"; //2
case 3 -> "three"; //3
case 4 -> "four"; //4
case 0, <caret>5, 10 -> {
System.out.println("something");
break "five-ten-fifteen"; //5
}
case 6 -> "six"; //6
case 7 -> "seven"; //7
default -> "and more"; //other
});
}
}
public static void main(String[] args) {
fff();
}
}
@@ -1,4 +1,4 @@
// "Unwrap 'switch' statement" "true"
// "Remove unreachable branches" "true"
class Main {
static void fff(int x) {
if (x == 5) {
@@ -1,4 +1,4 @@
// "Unwrap 'switch' statement" "true"
// "Remove unreachable branches" "true"
class Main {
static void fff(int x) {
if (x == 5) {
@@ -1,4 +1,4 @@
// "Unwrap 'switch' statement" "true"
// "Remove unreachable branches" "true"
class Main {
static void fff(int x) {
if (x == 5) {
@@ -1,4 +1,4 @@
// "Unwrap 'switch' statement" "true"
// "Remove unreachable branches" "true"
class Main {
static void fff(int x) {
if (x == 5) {