| /* |
| * @test /nodynamiccopyright/ |
| * @bug 8202372 |
| * @summary Diagnostic with incorrect line info generated when compiling lambda expression |
| * @compile/fail/ref=T8202372.out -XDrawDiagnostics T8202372.java |
| */ |
| class T8202372 { |
| |
| interface NonVoidFunc { |
| String m(); |
| } |
| |
| interface VoidFunc { |
| void m(); |
| } |
| |
| interface ParamFunc { |
| void m(String s); |
| } |
| |
| public void addVoid(VoidFunc v) {} |
| public void addNonVoid(NonVoidFunc nv) {} |
| public void addParam(ParamFunc p) {} |
| |
| void testVoid(T8202372 test) { |
| test.addVoid(() -> ""); |
| test.addVoid(() -> { return ""; }); |
| test.addVoid(() -> { }); |
| test.addVoid(() -> { return; }); |
| } |
| |
| void testNonVoid(T8202372 test) { |
| test.addNonVoid(() -> ""); |
| test.addNonVoid(() -> { return ""; }); |
| test.addNonVoid(() -> { }); |
| test.addNonVoid(() -> { return; }); |
| } |
| |
| void testParam(T8202372 test) { |
| test.addParam(() -> {}); |
| test.addParam((String x) -> { }); |
| test.addParam((String x1, String x2) -> { }); |
| test.addParam((int x) -> { }); |
| } |
| } |