public class EnumDuplicates {
sealed interface IN {}
enum T1 implements IN { A, B, C; }
enum T2 implements IN { A, B, C, D; }
int testDuplicates1(IN i) {
return switch (i) {
case T1.A -> 1;
case T1.B -> 2;
case T1.C -> 3;
case T2.A-> 4;
case T2.B -> 4;
case T2.C -> 5;
default -> 6;
};
}
int testDuplicates2(T1 e) {
return switch(e) {
case T1.A -> 1;
case A -> 1;
case T1.B -> 2;
case T1.C -> 3;
};
}
int testDuplicates3(T1 e) {
return switch(e) {
case A -> 1;
case T1.B -> 2;
case T1.C -> 3;
};
}
int testDuplicates4(IN e) {
return switch(e) {
case A -> 1;
case T1.B -> 2;
case T1.C -> 3;
};
}
int testDuplicates5(T1 e) {
return switch (e) {
case A -> 1;
case A -> 1;
case B -> 2;
case C -> 3;
};
}
int testDuplicates6(T1 e) {
return switch (e) {
case A -> 1;
case B -> 2;
case C -> 3;
};
}
}