Thu, 21 Feb 2013 15:26:46 +0000
8007461: Regression: bad overload resolution when inner class and outer class have method with same name
Summary: Fix regression in varargs method resolution introduced by bad refactoring
Reviewed-by: jjg
mcimadamore@299 | 1 | /* |
jjg@384 | 2 | * @test /nodynamiccopyright/ |
mcimadamore@299 | 3 | * @bug 6638712 6795689 |
mcimadamore@299 | 4 | * @author mcimadamore |
mcimadamore@299 | 5 | * @summary Inference with wildcard types causes selection of inapplicable method |
mcimadamore@299 | 6 | * @compile/fail/ref=T6638712e.out -XDrawDiagnostics T6638712e.java |
mcimadamore@299 | 7 | */ |
mcimadamore@299 | 8 | |
mcimadamore@299 | 9 | class T6638712e { |
mcimadamore@299 | 10 | |
mcimadamore@299 | 11 | static class Foo<A, B> { |
mcimadamore@299 | 12 | <X> Foo<X, B> m(Foo<? super X, ? extends A> foo) { return null;} |
mcimadamore@299 | 13 | } |
mcimadamore@299 | 14 | |
mcimadamore@299 | 15 | static class Test { |
mcimadamore@299 | 16 | Foo<Object, String> test(Foo<Boolean, String> foo1, Foo<Boolean, Boolean> foo2) { |
mcimadamore@299 | 17 | return foo1.m(foo2); |
mcimadamore@299 | 18 | } |
mcimadamore@299 | 19 | } |
mcimadamore@299 | 20 | } |