Mon, 21 Jan 2013 11:16:28 -0800
Merge
mcimadamore@1415 | 1 | /* |
mcimadamore@1415 | 2 | * @test /nodynamiccopyright/ |
mcimadamore@1415 | 3 | * @bug 8003280 |
mcimadamore@1415 | 4 | * @summary Add lambda tests |
mcimadamore@1415 | 5 | * check that generic method reference is inferred when type parameters are omitted |
mcimadamore@1415 | 6 | * @compile/fail/ref=MethodReference47.out -XDrawDiagnostics MethodReference47.java |
mcimadamore@1415 | 7 | */ |
mcimadamore@1415 | 8 | public class MethodReference47 { |
mcimadamore@1415 | 9 | |
mcimadamore@1415 | 10 | static int assertionCount = 0; |
mcimadamore@1415 | 11 | |
mcimadamore@1415 | 12 | static void assertTrue(boolean cond) { |
mcimadamore@1415 | 13 | assertionCount++; |
mcimadamore@1415 | 14 | if (!cond) |
mcimadamore@1415 | 15 | throw new AssertionError(); |
mcimadamore@1415 | 16 | } |
mcimadamore@1415 | 17 | |
mcimadamore@1415 | 18 | interface SAM1 { |
mcimadamore@1415 | 19 | void m(Integer s); |
mcimadamore@1415 | 20 | } |
mcimadamore@1415 | 21 | |
mcimadamore@1415 | 22 | interface SAM2 { |
mcimadamore@1415 | 23 | void m(Integer s); |
mcimadamore@1415 | 24 | } |
mcimadamore@1415 | 25 | |
mcimadamore@1415 | 26 | static class Foo<X extends Number> { |
mcimadamore@1415 | 27 | Foo(X x) { } |
mcimadamore@1415 | 28 | } |
mcimadamore@1415 | 29 | |
mcimadamore@1415 | 30 | static <X extends Number> void m(X fx) { } |
mcimadamore@1415 | 31 | |
mcimadamore@1415 | 32 | static void g1(SAM1 s) { } |
mcimadamore@1415 | 33 | static void g2(SAM1 s) { } |
mcimadamore@1415 | 34 | static void g2(SAM2 s) { } |
mcimadamore@1415 | 35 | |
mcimadamore@1415 | 36 | public static void main(String[] args) { |
mcimadamore@1415 | 37 | g1(MethodReference46::m); |
mcimadamore@1415 | 38 | g2(MethodReference46::m); |
mcimadamore@1415 | 39 | } |
mcimadamore@1415 | 40 | } |