aoqi@0: /* aoqi@0: * @test /nodynamiccopyright/ aoqi@0: * @bug 8003280 aoqi@0: * @summary Add lambda tests aoqi@0: * speculative cache mismatches between Resolve.access and Attr.checkId leads to compiler crashes aoqi@0: * @compile/fail/ref=ErroneousArg.out -XDrawDiagnostics ErroneousArg.java aoqi@0: */ aoqi@0: class ErroneousArg { aoqi@0: aoqi@0: private static class Foo { aoqi@0: static int j() { return 1; } aoqi@0: } aoqi@0: aoqi@0: static Foo foo = new Foo(); aoqi@0: aoqi@0: static void m(String s) { } aoqi@0: static void m(Integer i) { } aoqi@0: aoqi@0: static int f(String s) { return 1; } aoqi@0: aoqi@0: static int g(String s) { return 1; } aoqi@0: static int g(Double s) { return 1; } aoqi@0: aoqi@0: int h() { return 1; } aoqi@0: } aoqi@0: aoqi@0: class TestErroneousArg extends ErroneousArg { aoqi@0: static void test() { aoqi@0: m(unknown()); //method not found aoqi@0: m(f(1)); //inapplicable method aoqi@0: m(g(1)); //inapplicable methods aoqi@0: m(g(null)); //ambiguous aoqi@0: m(h()); //static error aoqi@0: m(foo.j()); //inaccessible method aoqi@0: } aoqi@0: }