File: T8064464.java

package info (click to toggle)
libnb-javaparser-java 9%2B2018-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 65,320 kB
  • sloc: java: 440,096; xml: 6,359; sh: 865; makefile: 314
file content (23 lines) | stat: -rw-r--r-- 614 bytes parent folder | download | duplicates (18)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
/*
 * @test /nodynamiccopyright/
 * @bug 8064464
 * @summary regression with type inference of conditional expression
 * @compile/fail/ref=T8064464.out -XDrawDiagnostics T8064464.java
 */

import java.util.List;

class T8064464 {

  String f(Object o) { return null; }
  Integer f(int i) { return null; }

  <X extends Integer> X id() { return null; }

  void m(List<Integer> lx) {
    Integer i1 = f(!lx.isEmpty() ? 0 : lx.get(0)); //ok --> f(int)
    Integer i2 = f(!lx.isEmpty() ? lx.get(0) : 0); //ok --> f(int)
    f(!lx.isEmpty() ? id() : 0); // ambiguous
    f(!lx.isEmpty() ? 0 : id()); // ambiguous
  }
}