test/tools/javac/lambda/mostSpecific/StructuralMostSpecificTest.java

changeset 2000
4a6acc42c3a1
parent 1520
5c956be64b9e
child 2525
2eb010b6cb22
     1.1 --- a/test/tools/javac/lambda/mostSpecific/StructuralMostSpecificTest.java	Fri Aug 30 17:36:47 2013 -0700
     1.2 +++ b/test/tools/javac/lambda/mostSpecific/StructuralMostSpecificTest.java	Mon Sep 02 22:38:36 2013 +0100
     1.3 @@ -197,7 +197,7 @@
     1.4                            "class Test {\n" +
     1.5                            "   void m(SAM1 s) { }\n" +
     1.6                            "   void m(SAM2 s) { }\n" +
     1.7 -                          "   { m(x->{ #LR }); }\n" +
     1.8 +                          "   { m((#A1 x)->{ #LR }); }\n" +
     1.9                            "}\n";
    1.10  
    1.11          String source;
    1.12 @@ -236,14 +236,17 @@
    1.13      void check() {
    1.14          checkCount.incrementAndGet();
    1.15  
    1.16 +        if (ak1 != ak2)
    1.17 +            return;
    1.18 +
    1.19          if (!lrk.compatibleWith(rt1) || !lrk.compatibleWith(rt2))
    1.20              return;
    1.21  
    1.22          if (lrk.needsConversion(rt1) != lrk.needsConversion(rt2))
    1.23              return;
    1.24  
    1.25 -        boolean m1MoreSpecific = moreSpecific(rt1, rt2, ek1, ek2, ak1, ak2);
    1.26 -        boolean m2MoreSpecific = moreSpecific(rt2, rt1, ek2, ek1, ak2, ak1);
    1.27 +        boolean m1MoreSpecific = rt1.moreSpecificThan(rt2);
    1.28 +        boolean m2MoreSpecific = rt2.moreSpecificThan(rt1);
    1.29  
    1.30          boolean ambiguous = (m1MoreSpecific == m2MoreSpecific);
    1.31  
    1.32 @@ -268,17 +271,6 @@
    1.33          }
    1.34      }
    1.35  
    1.36 -    boolean moreSpecific(RetTypeKind rk1, RetTypeKind rk2, ExceptionKind ek1,
    1.37 -            ExceptionKind ek2, ArgTypeKind ak1, ArgTypeKind ak2) {
    1.38 -        if (!rk1.moreSpecificThan(rk2))
    1.39 -            return false;
    1.40 -
    1.41 -        if (ak1 != ak2)
    1.42 -            return false;
    1.43 -
    1.44 -        return true;
    1.45 -    }
    1.46 -
    1.47      static class DiagnosticChecker
    1.48          implements javax.tools.DiagnosticListener<JavaFileObject> {
    1.49  

mercurial