ConditionalWithVoid.java revision 2715:601e08b62ba8
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 */
9public class ConditionalWithVoid {
10    public void test(Object o) {
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    }
16}
17