jdk

Форк
0
/
ConditionalWithVoid.java 
20 строк · 1.0 Кб
1
/*
2
 * @test /nodynamiccopyright/
3
 * @bug 4974927 8064464
4
 * @summary The compiler was allowing void types in its parsing of conditional expressions.
5
 * @author tball
6
 *
7
 * @compile/fail/ref=ConditionalWithVoid.out -XDrawDiagnostics ConditionalWithVoid.java
8
 */
9
public class ConditionalWithVoid {
10
    public void test(Object o, String s) {
11
        // Should fail to compile since Object.wait() has a void return type. Poly case.
12
        System.out.println(o instanceof String ? o.hashCode() : o.wait());
13
        // Should fail to compile since Object.wait() has a void return type. Standalone case.
14
        (o instanceof String ? o.hashCode() : o.wait()).toString();
15
        // Should fail to compile since Object.wait() has a void return type. Poly case.
16
        System.out.println(switch (s) {case "" -> o.hashCode(); default -> o.wait();});
17
        // Should fail to compile since Object.wait() has a void return type. Standalone case.
18
        (switch (s) {case "" -> o.hashCode(); default -> o.wait();}).toString();
19
    }
20
}
21

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.