test/tools/javac/lambda/MostSpecific06.java

Thu, 21 Feb 2013 15:26:46 +0000

author
mcimadamore
date
Thu, 21 Feb 2013 15:26:46 +0000
changeset 1599
9f0ec00514b6
parent 0
959103a6100f
permissions
-rw-r--r--

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

     1 /*
     2  * @test /nodynamiccopyright/
     3  * @bug 8003280
     4  * @summary Add lambda tests
     5  *  most specific resolution crashes on stuck lambdas
     6  * @compile/fail/ref=MostSpecific06.out -XDrawDiagnostics MostSpecific06.java
     7  */
     8 import java.util.*;
    10 class MostSpecific06 {
    12     interface Predicate<X> {
    13         boolean accept(X x);
    14     }
    16     interface ExtPredicate<X> extends Predicate<X> { }
    20     void test(boolean cond, ArrayList<String> als) {
    21         m(u -> true, als, als);
    22         m((u -> true), als, als);
    23         m(cond ? u -> true : u -> false, als, als);
    24     }
    26     <U> U m(Predicate<U> p, List<U> lu, ArrayList<U> au) { return null; }
    29     <U> U m(ExtPredicate<U> ep, ArrayList<U> au, List<U> lu) { return null; }
    30 }

mercurial