Files
openide/java/java-tests/testData/inspection/duplicateBranchesInEnhancedSwitchFix/afterBranchesWithUnnamedPatterns.java
Mikhail Pyltsinandintellij-monorepo-bot 0f76470f19 [java-inspections] IDEA-333452 Duplicate branch on switch. Improve work with comments
- now it can be suppressed properly
- show info level if the branches have different comments

GitOrigin-RevId: 5f1c5c0a67165b949b894d2d81c53800ad3b4b22
2023-09-27 19:37:38 +00:00

138 lines
2.8 KiB
Java

// "Fix all 'Duplicate branches in 'switch'' problems in file" "true"
class C {
void fooCopy(Object o) {
switch (o) {
case Integer _, String _: //can be merged
System.out.println(1);
break;
default:
System.out.println(2);
break;
}
}
void foo(Object o) {
switch (o) {
case Float _:
case Integer _: //can be merged
case String _:
System.out.println(1);
break;
default:
System.out.println(2);
break;
}
}
void foo2(Object o) {
switch (o) {
case Integer _ when o.hashCode() == 1 //can be merged
case String _:
System.out.println(1);
break;
default:
System.out.println(2);
break;
}
}
void foo3Copy(Object o) {
switch (o) {
case Integer _, String _ when o.hashCode() == 1: //can be merged
System.out.println(1);
break;
default:
System.out.println(2);
break;
}
}
void foo4Copy(Object o) {
switch (o) {
case Integer _, String _ when o.hashCode() == 1: //can be merged
System.out.println(1);
break;
case Number s:
System.out.println(3);
break;
default:
System.out.println(2);
break;
}
}
void foo5(Object o) {
switch (o) {
case Integer _ when o.hashCode() == 1: //can be merged
case String _ when o.hashCode() == 2:
System.out.println(1);
break;
case Number s:
System.out.println(3);
break;
default:
System.out.println(2);
break;
}
}
void foo6(Object o) {
switch (o) {
case Integer _ when o.hashCode() == 1:
System.out.println(1);
break;
case Number s:
System.out.println(3);
break;
case String _:
System.out.println(1);
break;
default:
System.out.println(2);
break;
}
}
void foo7(Object o) {
switch (o) {
case Integer _ :
System.out.println(1);
break;
case Number s:
System.out.println(3);
break;
case String _ when o.hashCode() == 1:
System.out.println(1);
break;
default:
System.out.println(2);
break;
}
}
void foo8(Object o) {
switch (o) {
case Integer _, String _: //can be merged
System.out.println(1);
break;
default:
System.out.println(2);
break;
}
}
void foo9(Object o) {
switch (o) {
case Integer _, CharSequence _ when o.hashCode() == 1: //can be merged
System.out.println(1);
break;
case Number s:
System.out.println(3);
break;
default:
System.out.println(2);
break;
}
}
}