corda/sgx-jvm/avian/test/NullPointer.java
Andras Slemmer 9bb3d6b972 Add 'sgx-jvm/avian/' from commit '09e4fe60d01f4f4bfb6b2976973bb4913ef61edc'
git-subtree-dir: sgx-jvm/avian
git-subtree-mainline: f978eab8d1
git-subtree-split: 09e4fe60d0
2017-03-13 12:18:24 +00:00

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();
}
}
}