/* *@test *@bug82628918290709 *@summaryCheckthepatterndominationerrorarereportedcorrectly. *@enablePreview *@compile/fail/ref=Domination.out-XDrawDiagnosticsDomination.java
*/ publicclass Domination { int testDominatesError1(Object o) { switch (o) { case CharSequence cs: return0; case String s: return1; case Object x: return -1;
}
}
int testDominatesError2(Object o) { switch (o) { case CharSequence cs: return0; case String s when s.isEmpty(): return1; case Object x: return -1;
}
}
int testDominatesError3(Object o) { switch (o) { case CharSequence cs when true: return0; case String s when s.isEmpty(): return1; case Object x: return -1;
}
}
int testNotDominates1(Object o) { switch (o) { case CharSequence cs when cs.length() == 0: return0; case String s: return1; case Object x: return -1;
}
}
int testDominatesStringConstant(String str) { switch (str) { case String s: return1; case"": return -1;
}
}
int testDominatesStringConstant2(String str) { switch (str) { case String s when s.isEmpty(): return1; case"": return -1;
}
}
int testDominatesStringConstant3(String str) { switch (str) { case String s when !s.isEmpty(): return1; case"": return -1;
}
}
int testDominatesIntegerConstant(Integer i) { switch (i) { case Integer j: return1; case0: return -1;
}
}
int testDominatesIntegerConstant2(Integer i) { switch (i) { case Integer j when j == 0: return1; case0: return -1;
}
}
int testDominatesIntegerConstant3(Integer i) { switch (i) { case Integer j when j == 1: return1; case0: return -1;
}
}
int testDominatesEnumConstant() { enum E {
A, B;
}
E e = E.A; switch (e) { case E d: return1; case A: return -1;
}
}
int testDominatesEnumConstant2() { enum E {
A, B;
}
E e = E.A; switch (e) { case E d when d == E.A: return1; case A: return -1;
}
}
int testDominatesEnumConstant3() { enum E {
A, B;
}
E e = E.A; switch (e) { case E d when d == E.B: return1; case A: return -1;
}
}
int testRecordPatternsDominated1() {
record R(int a) {}
Object o = null; switch (o) { case R r: return1; case R(int a): return -1;
}
}
int testRecordPatternsDominated2() {
record R(int a) {}
Object o = null; switch (o) { case R(int a): return1; case R(int a): return -1;
}
}
int testRecordPatternsDominated3() {
record R(int a) {}
Object o = null; switch (o) { case R r when guard(): return1; case R(int a): return -1;
}
}
int testRecordPatternsDominated4() {
record R(int a) {}
Object o = null; switch (o) { case R(int a) when guard(): return1; case R(int a): return -1;
}
}
boolean guard() { returnfalse;
}
int testRecordPatternsDominated5() {
record R(int a) {}
Object o = null; switch (o) { case ((R r)): return1; case ((R(int a))): return -1;
}
}
int testRecordPatternsDominated6() {
record R(int a) {}
Object o = null; switch (o) { case ((R(int a))): return1; case ((R(int a))): return -1;
}
}
int testRecordPatternsDominated7() {
record R(int a) {}
Object o = null; switch (o) { case R r when true: return1; case R(int a): return -1;
}
}
int testRecordPatternsDominated8() {
record R(int a) {}
Object o = null; switch (o) { case R(int a) when true: return1; case R(int a): return -1;
}
}
int testNotDominates2(Integer x) { switch (x) { case Integer i: return i; casenull : return -1;
}
}
}
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.9 Sekunden
(vorverarbeitet am 2026-06-10)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.