diff -r 000000000000 -r 959103a6100f test/tools/javac/lambda/ErroneousArg.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test/tools/javac/lambda/ErroneousArg.java Wed Apr 27 01:34:52 2016 +0800 @@ -0,0 +1,36 @@ +/* + * @test /nodynamiccopyright/ + * @bug 8003280 + * @summary Add lambda tests + * speculative cache mismatches between Resolve.access and Attr.checkId leads to compiler crashes + * @compile/fail/ref=ErroneousArg.out -XDrawDiagnostics ErroneousArg.java + */ +class ErroneousArg { + + private static class Foo { + static int j() { return 1; } + } + + static Foo foo = new Foo(); + + static void m(String s) { } + static void m(Integer i) { } + + static int f(String s) { return 1; } + + static int g(String s) { return 1; } + static int g(Double s) { return 1; } + + int h() { return 1; } +} + +class TestErroneousArg extends ErroneousArg { + static void test() { + m(unknown()); //method not found + m(f(1)); //inapplicable method + m(g(1)); //inapplicable methods + m(g(null)); //ambiguous + m(h()); //static error + m(foo.j()); //inaccessible method + } +}