test/tools/javac/lambda/MethodReference43.java

changeset 2000
4a6acc42c3a1
parent 1510
7873d37f5b37
child 2015
a4b9a8859e58
     1.1 --- a/test/tools/javac/lambda/MethodReference43.java	Fri Aug 30 17:36:47 2013 -0700
     1.2 +++ b/test/tools/javac/lambda/MethodReference43.java	Mon Sep 02 22:38:36 2013 +0100
     1.3 @@ -1,5 +1,5 @@
     1.4  /*
     1.5 - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
     1.6 + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
     1.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     1.8   *
     1.9   * This code is free software; you can redistribute it and/or modify it
    1.10 @@ -26,18 +26,10 @@
    1.11   * @bug 8003280
    1.12   * @summary Add lambda tests
    1.13   *  check that diamond inference is applied when using raw constructor reference qualifier
    1.14 - * @run main MethodReference43
    1.15 + * @compile/fail/ref=MethodReference43.out -XDrawDiagnostics MethodReference43.java
    1.16   */
    1.17  public class MethodReference43 {
    1.18  
    1.19 -    static int assertionCount = 0;
    1.20 -
    1.21 -    static void assertTrue(boolean cond) {
    1.22 -        assertionCount++;
    1.23 -        if (!cond)
    1.24 -            throw new AssertionError();
    1.25 -    }
    1.26 -
    1.27      interface SAM1 {
    1.28         Foo<?> m(String s);
    1.29      }
    1.30 @@ -58,14 +50,24 @@
    1.31          Foo(X x) { }
    1.32      }
    1.33  
    1.34 +    static void m1(SAM1 s) { }
    1.35  
    1.36 -    static void m(SAM1 s) { assertTrue(false); }
    1.37 -    static void m(SAM2 s) { assertTrue(false); }
    1.38 -    static void m(SAM3 s) { assertTrue(false); }
    1.39 -    static void m(SAM4 s) { assertTrue(true); }
    1.40 +    static void m2(SAM2 s) { }
    1.41 +
    1.42 +    static void m3(SAM3 s) { }
    1.43 +
    1.44 +    static void m4(SAM4 s) { }
    1.45 +
    1.46 +    static void m5(SAM1 s) { }
    1.47 +    static void m5(SAM2 s) { }
    1.48 +    static void m5(SAM3 s) { }
    1.49 +    static void m5(SAM4 s) { }
    1.50  
    1.51      public static void main(String[] args) {
    1.52 -        m(Foo::new);
    1.53 -        assertTrue(assertionCount == 1);
    1.54 +        m1(Foo::new);
    1.55 +        m2(Foo::new);
    1.56 +        m3(Foo::new);
    1.57 +        m4(Foo::new);
    1.58 +        m5(Foo::new);
    1.59      }
    1.60  }

mercurial