mirror of
https://github.com/corda/corda.git
synced 2024-12-29 09:18:58 +00:00
9bb3d6b972
git-subtree-dir: sgx-jvm/avian git-subtree-mainline:f978eab8d1
git-subtree-split:09e4fe60d0
133 lines
2.7 KiB
Java
133 lines
2.7 KiB
Java
public class NullPointer {
|
|
private int x;
|
|
private Object y;
|
|
|
|
private static void throw_(Object o) {
|
|
o.toString();
|
|
}
|
|
|
|
private static void throwAndCatch(Object o) {
|
|
try {
|
|
o.toString();
|
|
throw new RuntimeException();
|
|
} catch (NullPointerException e) {
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
|
|
public static void main(String[] args) {
|
|
try {
|
|
((Object) null).getClass();
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
}
|
|
|
|
try {
|
|
throw_(null);
|
|
throw new RuntimeException();
|
|
} catch (NullPointerException e) {
|
|
e.printStackTrace();
|
|
}
|
|
|
|
throwAndCatch(null);
|
|
|
|
// invokeinterface
|
|
try {
|
|
((Runnable) null).run();
|
|
throw new RuntimeException();
|
|
} catch (NullPointerException e) {
|
|
e.printStackTrace();
|
|
}
|
|
|
|
// invokevirtual
|
|
try {
|
|
((Object) null).toString();
|
|
throw new RuntimeException();
|
|
} catch (NullPointerException e) {
|
|
e.printStackTrace();
|
|
}
|
|
|
|
// arraylength
|
|
try {
|
|
int a = ((byte[]) null).length;
|
|
throw new RuntimeException();
|
|
} catch (NullPointerException e) {
|
|
e.printStackTrace();
|
|
}
|
|
|
|
// iaload
|
|
try {
|
|
int a = ((byte[]) null)[42];
|
|
throw new RuntimeException();
|
|
} catch (NullPointerException e) {
|
|
e.printStackTrace();
|
|
}
|
|
|
|
// aaload
|
|
try {
|
|
Object a = ((Object[]) null)[42];
|
|
throw new RuntimeException();
|
|
} catch (NullPointerException e) {
|
|
e.printStackTrace();
|
|
}
|
|
|
|
// getfield (int)
|
|
try {
|
|
int a = ((NullPointer) null).x;
|
|
throw new RuntimeException();
|
|
} catch (NullPointerException e) {
|
|
e.printStackTrace();
|
|
}
|
|
|
|
// getfield (Object)
|
|
try {
|
|
Object a = ((NullPointer) null).y;
|
|
throw new RuntimeException();
|
|
} catch (NullPointerException e) {
|
|
e.printStackTrace();
|
|
}
|
|
|
|
// iastore
|
|
try {
|
|
((byte[]) null)[42] = 42;
|
|
throw new RuntimeException();
|
|
} catch (NullPointerException e) {
|
|
e.printStackTrace();
|
|
}
|
|
|
|
// aastore
|
|
try {
|
|
((Object[]) null)[42] = null;
|
|
throw new RuntimeException();
|
|
} catch (NullPointerException e) {
|
|
e.printStackTrace();
|
|
}
|
|
|
|
// putfield (int)
|
|
try {
|
|
((NullPointer) null).x = 42;
|
|
throw new RuntimeException();
|
|
} catch (NullPointerException e) {
|
|
e.printStackTrace();
|
|
}
|
|
|
|
// putfield (Object)
|
|
try {
|
|
((NullPointer) null).y = null;
|
|
throw new RuntimeException();
|
|
} catch (NullPointerException e) {
|
|
e.printStackTrace();
|
|
}
|
|
|
|
// monitorenter
|
|
try {
|
|
synchronized ((Object) null) {
|
|
int a = 42;
|
|
}
|
|
throw new RuntimeException();
|
|
} catch (NullPointerException e) {
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
}
|