Files
2018-08-30 10:48:05 +01:00

77 lines
1.9 KiB
Java

public class A {
public long ex1(int i, int w1, int w2, int w3, long[][][] bits) {
long nword = ~0L << i;
long[][] a2;
long[] a3;
if (w1 < 42 && (a2 = bits[w1]) != null
&& (a3 = a2[w2]) != null
&& ((nword = ~a3[w3] & (~0L << i))) == 0L) {
w3 = 7; w2 = 5; w1 = 3;
loop: for (; w1 != 42; ++w1) {
if ((a2 = bits[w1]) != null)
for (; w2 != 42; ++w2)
{
if ((a3 = a2[w2]) != null)
for (; w3 != 42; ++w3)
if ((nword = ~a3[w3]) != 0)
break loop;
w3 = 0;
}
w2 = w3 = 0;
}
}
return (((w1 << 3) + (w2 << 3) + w3) << 3) + nword;
}
public void ex2() {
for (int i = 0; i < 5; i++) {
int x = 42;
x = x + 3; // DEAD
}
}
public int ex3(int param) {
param += 3; // DEAD
param = 4;
int x = 7;
++x; // DEAD
x = 10;
int y = 5;
y = (++y) + 5; // DEAD (++y)
return x + y + param;
}
public void ex4() {
boolean exc;
exc = true; // OK
try {
new Object();
exc = false;
} finally {
if (exc) { ex3(0); }
}
int x;
try {
x = 5; // DEAD
ex3(0);
x = 7;
ex3(x);
} catch (Exception e) {
}
boolean valid;
try {
if (ex3(4) > 4) {
valid = false; // DEAD
}
ex3(0);
valid = true;
} catch(Exception e) {
valid = false;
}
if (valid) return;
}
// ensure extraction of java.lang.RuntimeException
public void noop() throws RuntimeException { }
}