Thu, 25 Jul 2013 14:51:40 +0100
8020843: javac crashes on accessibility check with method reference with typevar receiver
Summary: method reference overload check doesn't walk through type-variable receivers
Reviewed-by: jjg
1 /*
2 * @test /nodynamiccopyright/
3 * @bug 6227617
4 * @summary Lint option for redundant casts
5 * @compile -Werror T6227617.java
6 * @compile/ref=T6227617.out -XDrawDiagnostics -Xlint:cast T6227617.java
7 */
8 import java.util.HashMap;
9 import java.util.Map;
11 class T6227617 {
12 void m() {
13 int i1 = 2;
14 int i2 = (int) i1; // warn
16 float f1 = 1f;
17 int i3 = (int) f1;
19 String s = (String) ""; // warn
20 Object o = (Object) "";
22 Map<String, Integer> m = new HashMap<String, Integer>();
23 Integer I1 = (Integer) m.get(""); // warn
24 }
26 // The following cause NPE in Attr with an Attr-based solution for -Xlint:cast
27 static final int i1 = Foo.i1;
28 static final String s = Foo.s;
29 }
31 class Foo
32 {
33 static final int i1 = (int) 1;
34 static final int i2 = (int) 1L;
36 static final String s = (String) "abc";
37 }