package ikvm.internal; import ikvm.lang.Internal; @Internal public final class Util { private Util() {} public static final boolean WINDOWS; public static final boolean MACOSX; static { switch (cli.System.Environment.get_OSVersion().get_Platform().Value) { case cli.System.PlatformID.Win32NT: case cli.System.PlatformID.Win32Windows: case cli.System.PlatformID.Win32S: case cli.System.PlatformID.WinCE: WINDOWS = true; MACOSX = false; break; case cli.System.PlatformID.MacOSX: WINDOWS = false; MACOSX = true; break; case cli.System.PlatformID.Unix: WINDOWS = false; // as of version 2.6, Mono still returns Unix when running on MacOSX MACOSX = "Darwin".equals(MonoUtils.unameProperty("sysname")); break; default: WINDOWS = false; MACOSX = false; break; } } public static boolean rangeCheck(int arrayLength, int offset, int length) { return offset >= 0 && offset <= arrayLength && length >= 0 && length <= arrayLength - offset; } }