/* | |
* @test /nodynamiccopyright/ | |
* @bug 5009484 | |
* @summary Compiler fails to resolve appropriate type for outer member | |
* @author Philippe P Mulet | |
* @compile/fail/ref=X.out -XDrawDiagnostics X.java | |
*/ | |
public class X<T> { | |
private T t; | |
X(T t) { | |
this.t = t; | |
} | |
public static void main(String[] args) { | |
new X<String>("OUTER").bar(); | |
} | |
void bar() { | |
new X<X>(this) { // #1 | |
void run() { | |
new Object() { // #2 | |
void run() { | |
X x = t; // #3 <--- which t is bound ? | |
System.out.println(x); | |
} | |
}.run(); | |
} | |
}.run(); | |
} | |
} |