aoqi@0: /* aoqi@0: * @test /nodynamiccopyright/ aoqi@0: * @bug 8003280 aoqi@0: * @summary Add lambda tests aoqi@0: * certain cases of erroneous member reference lookup are not handled by Attr.visitReference aoqi@0: * @compile/fail/ref=MethodReference51.out -XDrawDiagnostics MethodReference51.java aoqi@0: */ aoqi@0: class MethodReference51 { aoqi@0: aoqi@0: private static class Foo { aoqi@0: static int j(int i) { return i; } 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(Integer i, Number n) { return 1; } aoqi@0: static int g(Number n, Integer i) { return 1; } aoqi@0: aoqi@0: int h(int i) { return i; } aoqi@0: } aoqi@0: aoqi@0: class TestMethodReference51 { aoqi@0: aoqi@0: interface IntSam { aoqi@0: int m(int i); aoqi@0: } aoqi@0: aoqi@0: interface IntegerIntegerSam { aoqi@0: int m(Integer i1, Integer i2); aoqi@0: } aoqi@0: aoqi@0: aoqi@0: static void test() { aoqi@0: IntSam s1 = MethodReference51::unknown; //fail aoqi@0: IntSam s2 = MethodReference51::f; //fail aoqi@0: IntSam s3 = MethodReference51::g; //fail aoqi@0: IntegerIntegerSam s4 = MethodReference51::g; //fail aoqi@0: IntSam s5 = MethodReference51::h; //fail aoqi@0: IntSam s6 = MethodReference51.foo::j; //fail aoqi@0: } aoqi@0: }