blob: 7c40ef78c17d62d95f454d411ef326707b3c3157 [file] [log] [blame]
import org.checkerframework.checker.nullness.qual.*;
// TODO: Add as test
public class RefineArray {
public static <T> T[] concat(T @Nullable [] a, T @Nullable [] b) {
if (a == null) {
if (b != null) {
return b;
} else {
@SuppressWarnings("unchecked")
T[] result = (T[]) new Object[0];
return result;
}
} else {
if (b == null) {
return a;
} else {
@SuppressWarnings("unchecked")
T[] result = (T[]) new @MonotonicNonNull Object[a.length + b.length];
System.arraycopy(a, 0, result, 0, a.length);
System.arraycopy(b, 0, result, a.length, b.length);
return result;
}
}
}
}