home *** CD-ROM | disk | FTP | other *** search
- package java.lang;
-
- import java.io.IOException;
- import java.io.InputStream;
- import java.io.OutputStream;
- import java.util.StringTokenizer;
-
- public class Runtime {
- private static Runtime currentRuntime = new Runtime();
- private String[] paths;
-
- public static Runtime getRuntime() {
- return currentRuntime;
- }
-
- private Runtime() {
- }
-
- private native void exitInternal(int var1);
-
- public void exit(int var1) {
- SecurityManager var2 = System.getSecurityManager();
- if (var2 != null) {
- var2.checkExit(var1);
- }
-
- this.exitInternal(var1);
- }
-
- public static void runFinalizersOnExit(boolean var0) {
- SecurityManager var1 = System.getSecurityManager();
- if (var1 != null) {
- try {
- var1.checkExit(0);
- } catch (SecurityException var2) {
- throw new SecurityException("runFinalizersOnExit");
- }
- }
-
- runFinalizersOnExit0(var0);
- }
-
- private static native void runFinalizersOnExit0(boolean var0);
-
- private native Process execInternal(String[] var1, String[] var2) throws IOException;
-
- public Process exec(String var1) throws IOException {
- return this.exec((String)var1, (String[])null);
- }
-
- public Process exec(String var1, String[] var2) throws IOException {
- int var3 = 0;
- StringTokenizer var5 = new StringTokenizer(var1);
- var3 = var5.countTokens();
- String[] var4 = new String[var3];
- var5 = new StringTokenizer(var1);
-
- for(int var8 = 0; var5.hasMoreTokens(); var4[var8++] = var5.nextToken()) {
- }
-
- SecurityManager var6 = System.getSecurityManager();
- if (var6 != null) {
- var6.checkExec(var4[0]);
- }
-
- return this.execInternal(var4, var2);
- }
-
- public Process exec(String[] var1) throws IOException {
- return this.exec((String[])var1, (String[])null);
- }
-
- public Process exec(String[] var1, String[] var2) throws IOException {
- SecurityManager var3 = System.getSecurityManager();
- if (var3 != null) {
- var3.checkExec(var1[0]);
- }
-
- return this.execInternal(var1, var2);
- }
-
- public native long freeMemory();
-
- public native long totalMemory();
-
- public native void gc();
-
- public native void runFinalization();
-
- public native void traceInstructions(boolean var1);
-
- public native void traceMethodCalls(boolean var1);
-
- private synchronized native String initializeLinkerInternal();
-
- private native String buildLibName(String var1, String var2);
-
- private native int loadFileInternal(String var1);
-
- private void initializeLinker() {
- String var1 = this.initializeLinkerInternal();
- char var2 = System.getProperty("path.separator").charAt(0);
- int var3 = var1.length();
- int var4 = var1.indexOf(var2);
-
- int var6;
- for(var6 = 0; var4 >= 0; var4 = var1.indexOf(var2, var4 + 1)) {
- ++var6;
- }
-
- this.paths = new String[var6 + 1];
- var4 = 0;
- var6 = 0;
-
- for(int var5 = var1.indexOf(var2); var5 >= 0; var5 = var1.indexOf(var2, var4)) {
- if (var5 - var4 > 0) {
- this.paths[var6++] = var1.substring(var4, var5);
- } else if (var5 - var4 == 0) {
- this.paths[var6++] = ".";
- }
-
- var4 = var5 + 1;
- }
-
- this.paths[var6] = var1.substring(var4, var3);
- }
-
- public synchronized void load(String var1) {
- SecurityManager var2 = System.getSecurityManager();
- if (var2 != null) {
- var2.checkLink(var1);
- }
-
- int var3 = this.loadFileInternal(var1);
- if (var3 == -1) {
- throw new OutOfMemoryError();
- } else if (var3 == 0) {
- throw new UnsatisfiedLinkError(var1);
- }
- }
-
- public synchronized void loadLibrary(String var1) {
- SecurityManager var2 = System.getSecurityManager();
- if (var2 != null) {
- var2.checkLink(var1);
- }
-
- if (this.paths == null) {
- this.initializeLinker();
- }
-
- for(int var3 = 0; var3 < this.paths.length; ++var3) {
- String var5 = this.buildLibName(this.paths[var3], var1);
- int var4 = this.loadFileInternal(var5);
- if (var4 == -1) {
- throw new OutOfMemoryError();
- }
-
- if (var4 == 1) {
- return;
- }
- }
-
- throw new UnsatisfiedLinkError("no " + var1 + " in shared library path");
- }
-
- /** @deprecated */
- public InputStream getLocalizedInputStream(InputStream var1) {
- return var1;
- }
-
- /** @deprecated */
- public OutputStream getLocalizedOutputStream(OutputStream var1) {
- return var1;
- }
- }
-