382fe51b6d
Reviewed-by: vromero
28 lines
831 B
Java
28 lines
831 B
Java
/*
|
|
* @test /nodynamiccopyright/
|
|
* @bug 4689058
|
|
* @summary unverifiable code for implicit outer in super constructor call
|
|
*
|
|
* @compile/fail/ref=NewBeforeOuterConstructed2.out -XDrawDiagnostics NewBeforeOuterConstructed2.java
|
|
*/
|
|
|
|
public class NewBeforeOuterConstructed2 {
|
|
NewBeforeOuterConstructed2(Object o) {}
|
|
class Middle extends NewBeforeOuterConstructed2 {
|
|
Middle(int i) {
|
|
super(null);
|
|
}
|
|
Middle() {
|
|
// The 'new' below is illegal, as the outer
|
|
// constructor has not been called when the
|
|
// implicit reference to 'this' is evaluated
|
|
// during the new instance expression.
|
|
super(/*Middle.this.*/new Middle(1));
|
|
}
|
|
class Inner {}
|
|
void f() {
|
|
System.out.println("ok");
|
|
}
|
|
}
|
|
}
|