Quellcode-Bibliothek
© Kompilation durch diese Firma
[Weder Korrektheit noch Funktionsfähigkeit der Software werden zugesichert.]
Datei:
ConditionalWithVoid.java
Sprache: Unknown
/*
* @test /nodynamiccopyright/
* @bug 4974927 8064464
* @summary The compiler was allowing void types in its parsing of conditional expressions.
* @author tball
*
* @compile/fail/ref=ConditionalWithVoid.out -XDrawDiagnostics ConditionalWithVoid.java
*/
public class ConditionalWithVoid {
public void test(Object o, String s) {
// Should fail to compile since Object.wait() has a void return type. Poly case.
System.out.println(o instanceof String ? o.hashCode() : o.wait());
// Should fail to compile since Object.wait() has a void return type. Standalone case.
(o instanceof String ? o.hashCode() : o.wait()).toString();
// Should fail to compile since Object.wait() has a void return type. Poly case.
System.out.println(switch (s) {case "" -> o.hashCode(); default -> o.wait();});
// Should fail to compile since Object.wait() has a void return type. Standalone case.
(switch (s) {case "" -> o.hashCode(); default -> o.wait();}).toString();
}
}
[ Dauer der Verarbeitung: 0.21 Sekunden
(vorverarbeitet)
]
|
|