mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-20 02:54:35 +02:00
8064464: regression with type inference of conditional expression
Bad classification of conditional leads to spurious error Reviewed-by: jlahoda
This commit is contained in:
parent
732c7c5e28
commit
ed9c1bb743
7 changed files with 52 additions and 13 deletions
|
@ -1,14 +1,16 @@
|
|||
/*
|
||||
* @test /nodynamiccopyright/
|
||||
* @bug 4974927
|
||||
* @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 int test(Object o) {
|
||||
// Should fail to compile since Object.wait() has a void return type.
|
||||
public void test(Object o) {
|
||||
// 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();
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue