langtools/test/tools/javac/generics/diamond/neg/Neg17.java
author sadayapalam
Thu, 26 Nov 2015 17:38:15 +0530
changeset 34474 14deea5f86f1
parent 29776 984a79b71cfe
permissions -rw-r--r--
8078660: Misleading recommendation from diamond finder. Summary: javac should recommend diamond usage if that could lead to a change in program behavior. Reviewed-by: mcimadamore

/*
 * @test /nodynamiccopyright/
 * @bug 8062373
 * @summary Test that the anonymous class constructor appears to returns a Foo<T>, when it actually returns a Anon$1. (status as of now - may change in future)
 * @compile/fail/ref=Neg17.out Neg17.java -XDrawDiagnostics
 */

import java.util.Collections;

abstract class Neg17<T> {

   abstract void m();

   public static void main(String[] args) {
       Collections.singletonList(new Neg17<>() { void m() {} }).get(0).m(); // good.
       Collections.singletonList(new Neg17<>() {
                 void m() {}
                 private void n() {}
           }).get(0).n(); // bad unknown method n()
   }
}