Fri, 05 Jul 2013 11:02:17 +0100
8019480: Javac crashes when method is called on a type-variable receiver from lambda expression
Summary: Logic for shortcircuiting speculative attribution doesn't handle type-variable receivers
Reviewed-by: jjg, vromero
aoqi@0 | 1 | /** |
aoqi@0 | 2 | * @test /nodynamiccopyright/ |
aoqi@0 | 3 | * @bug 8004099 |
aoqi@0 | 4 | * @summary Bad compiler diagnostic generated when poly expression is passed to non-existent method |
aoqi@0 | 5 | * @compile/fail/ref=BadMethodCall2.out -XDrawDiagnostics BadMethodCall2.java |
aoqi@0 | 6 | */ |
aoqi@0 | 7 | class BadMethodCall2 { |
aoqi@0 | 8 | void test(Object rec) { |
aoqi@0 | 9 | rec.nonExistent(System.out::println); |
aoqi@0 | 10 | rec.nonExistent(()->{}); |
aoqi@0 | 11 | rec.nonExistent(true ? "1" : "2"); |
aoqi@0 | 12 | } |
aoqi@0 | 13 | } |