Sat, 22 Dec 2018 13:10:38 -0800
Added tag jdk8u202-b25 for changeset 15d8c732039b
1 /*
2 * @test /nodynamiccopyright/
3 * @bug 8003280
4 * @summary Add lambda tests
5 * special cases of method references (getClass()/Array.clone()) not handled properly
6 * @compile/fail/ref=MethodReference52.out -XDrawDiagnostics MethodReference52.java
7 */
8 import java.util.*;
10 class MethodReference52 {
12 interface Clone1 {
13 int[] m();
14 }
16 interface Clone2 {
17 Object m();
18 }
20 interface WrongClone {
21 long[] m();
22 }
24 interface GetClass {
25 Class<? extends List> m();
26 }
28 interface WrongGetClass {
29 Class<List<String>> m();
30 }
32 void test(int[] iarr, List<String> ls) {
33 Clone1 c1 = iarr::clone; //ok
34 Clone2 c2 = iarr::clone; //ok - type more generic
35 WrongClone c3 = iarr::clone; //bad return type
36 GetClass c4 = ls::getClass; //ok
37 WrongGetClass c5 = ls::getClass; //bad return type
38 }
39 }