3789983e89
Reviewed-by: darcy, ihse
30 lines
1.0 KiB
Java
30 lines
1.0 KiB
Java
/*
|
|
* @test /nodynamiccopyright/
|
|
* @bug 4249111
|
|
* @summary 'new' of inner class should not be allowed unless outer is constructed
|
|
*
|
|
* @compile/fail/ref=NewBeforeOuterConstructed.out -XDrawDiagnostics NewBeforeOuterConstructed.java
|
|
*/
|
|
|
|
import java.io.*;
|
|
|
|
public class NewBeforeOuterConstructed extends PrintStream {
|
|
private class NullOutputStream extends OutputStream {
|
|
public NullOutputStream() {
|
|
super();
|
|
}
|
|
public void write(int b) { }
|
|
public void write(byte b[]) { }
|
|
public void write(byte b[], int off, int len) { }
|
|
public void flush() { }
|
|
public void close() { }
|
|
}
|
|
public NewBeforeOuterConstructed() {
|
|
// 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(new NullOutputStream());
|
|
}
|
|
}
|