langtools/test/tools/javac/lambda/TargetType46.java
author sadayapalam
Mon, 30 Mar 2015 17:09:14 +0530
changeset 29776 984a79b71cfe
parent 14547 86d8d242b0c4
permissions -rw-r--r--
8062373: Project Coin: diamond and anonymous classes Summary: Allow diamond inference in combination with anonymous class instance creation Reviewed-by: mcimadamore, vromero Contributed-by: srikanth.adayapalam@oracle.com, maurizio.cimadamore@oracle.com

/*
 * @test /nodynamiccopyright/
 * @bug 8003280 8062373
 * @summary Add lambda tests
 *  compiler doesn't report accessibility problem due to inaccessible target
 * @compile/fail/ref=TargetType46.out -XDrawDiagnostics TargetType46.java
 */
import java.util.*;

class TargetType46Outer {

    private interface PI {
       void m();
    }

    void m(PI p) { }
    void m(List<PI> p) { }
}

class TargetType46 {
    void test(TargetType46Outer outer) {
        outer.m(()->{}); //access error
        outer.m(this::g); //access error
        outer.m(new ArrayList<>()); //ok
        outer.m(new ArrayList<>() {}); // access error
        outer.m(Collections.emptyList()); //ok
    }

    void g() { }
}