package java.lang; import org.checkerframework.dataflow.qual.Pure; import org.checkerframework.dataflow.qual.SideEffectFree; import org.checkerframework.checker.nullness.qual.Nullable; import org.checkerframework.checker.nullness.qual.PolyNull; import java.io.*; import java.util.Properties; // import java.util.PropertyPermission; // import java.util.StringTokenizer; // import java.security.AccessController; // import java.security.PrivilegedAction; // import java.security.AllPermission; import java.nio.channels.Channel; // import java.nio.channels.spi.SelectorProvider; // import sun.nio.ch.Interruptible; // import sun.reflect.Reflection; // import sun.security.util.SecurityConstants; // import sun.reflect.annotation.AnnotationType; public final class System { protected System() {} public final static InputStream in = nullInputStream(); public final static PrintStream out = nullPrintStream(); public final static PrintStream err = nullPrintStream(); public static void setIn(InputStream in) { throw new RuntimeException("skeleton method"); } public static void setOut(PrintStream out) { throw new RuntimeException("skeleton method"); } public static void setErr(PrintStream err) { throw new RuntimeException("skeleton method"); } public static @Nullable Console console() { throw new RuntimeException("skeleton method"); } public static @Nullable Channel inheritedChannel() throws IOException { throw new RuntimeException("skeleton method"); } public static void setSecurityManager(@Nullable SecurityManager s) { throw new RuntimeException("skeleton method"); } public static @Nullable SecurityManager getSecurityManager() { throw new RuntimeException("skeleton method"); } public static native long currentTimeMillis(); public static native long nanoTime(); @SideEffectFree public static native void arraycopy(Object src, int srcPos, Object dest, int destPos, int length); @Pure public static native int identityHashCode(@Nullable Object x); public static Properties getProperties() { throw new RuntimeException("skeleton method"); } public static void setProperties(@Nullable Properties props) { throw new RuntimeException("skeleton method"); } @Pure public static @Nullable String getProperty(String key) { throw new RuntimeException("skeleton method"); } @Pure public static @PolyNull String getProperty(String key, @PolyNull String def) { throw new RuntimeException("skeleton method"); } public static @Nullable String setProperty(String key, String value) { throw new RuntimeException("skeleton method"); } public static @Nullable String clearProperty(String key) { throw new RuntimeException("skeleton method"); } public static @Nullable String getenv(String name) { throw new RuntimeException("skeleton method"); } public static java.util.Map<String,String> getenv() { throw new RuntimeException("skeleton method"); } public static void exit(int status) { throw new RuntimeException("skeleton method"); } public static void gc() { throw new RuntimeException("skeleton method"); } public static void runFinalization() { throw new RuntimeException("skeleton method"); } @Deprecated public static void runFinalizersOnExit(boolean value) { throw new RuntimeException("skeleton method"); } public static void load(String filename) { throw new RuntimeException("skeleton method"); } public static void loadLibrary(String libname) { throw new RuntimeException("skeleton method"); } public static native String mapLibraryName(String libname); @SuppressWarnings("rawtypes") static Class getCallerClass() { throw new RuntimeException("skeleton method"); } /** * The following two methods exist because in, out, and err must be * initialized to null. The compiler, however, cannot be permitted to * inline access to them, since they are later set to more sensible values * by initializeSystemClass(). */ private static InputStream nullInputStream() throws NullPointerException { if (currentTimeMillis() > 0) { return null; } throw new NullPointerException(); } private static PrintStream nullPrintStream() throws NullPointerException { if (currentTimeMillis() > 0) { return null; } throw new NullPointerException(); } }