8161985: Spurious override of Object.getClass leads to NPE
Summary: Attr.adjustMethodReturnType() tweaks return types w/o checking what method is being patched
Reviewed-by: vromero
/*
* @test /nodynamiccopyright/
* @bug 8161985
* @summary Spurious override of Object.getClass leads to NPE
* @compile/fail/ref=T8161985a.out -XDrawDiagnostics T8161985a.java
*/
class T8161985 {
public static void main(String [] arg) {
T8161985 t = new T8161985();
t.getClass();
}
public void getClass() {
Fred1 f = new Fred1();
System.out.println( "fred classname: " + f.getClassName());
}
abstract class Fred {
public String getClassName() {
return this.getClass().getSimpleName();
}
}
class Fred1 extends Fred {
}
}