2007-12-01 00:00:00 +00:00
|
|
|
/*
|
2014-07-07 20:39:31 +00:00
|
|
|
* @test /nodynamiccopyright/
|
2007-12-01 00:00:00 +00:00
|
|
|
* @bug 4689058
|
|
|
|
* @summary unverifiable code for implicit outer in super constructor call
|
|
|
|
*
|
2014-07-07 20:39:31 +00:00
|
|
|
* @compile/fail/ref=NewBeforeOuterConstructed2.out -XDrawDiagnostics NewBeforeOuterConstructed2.java
|
2007-12-01 00:00:00 +00:00
|
|
|
*/
|
|
|
|
|
|
|
|
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");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|