home *** CD-ROM | disk | FTP | other *** search
- package java.lang;
-
- import java.io.File;
- import java.io.IOException;
- import java.io.InputStream;
- import java.lang.reflect.InvocationTargetException;
- import java.net.URL;
- import java.nio.ByteBuffer;
- import java.security.AccessControlContext;
- import java.security.AccessController;
- import java.security.CodeSource;
- import java.security.PermissionCollection;
- import java.security.Principal;
- import java.security.PrivilegedActionException;
- import java.security.ProtectionDomain;
- import java.security.cert.Certificate;
- import java.util.Enumeration;
- import java.util.HashMap;
- import java.util.HashSet;
- import java.util.Hashtable;
- import java.util.Map;
- import java.util.Set;
- import java.util.Stack;
- import java.util.Vector;
- import sun.misc.ClassFileTransformer;
- import sun.misc.CompoundEnumeration;
- import sun.misc.Launcher;
- import sun.misc.Resource;
- import sun.misc.URLClassPath;
- import sun.misc.VM;
- import sun.reflect.Reflection;
- import sun.security.util.SecurityConstants;
-
- public abstract class ClassLoader {
- private boolean initialized = false;
- private ClassLoader parent;
- private Hashtable package2certs = new Hashtable(11);
- Certificate[] nocerts;
- private Vector classes = new Vector();
- private Set domains = new HashSet();
- private HashMap packages = new HashMap();
- private static URLClassPath bootstrapClassPath;
- private static ClassLoader scl;
- private static boolean sclSet;
- private ProtectionDomain defaultDomain = null;
- private static Vector loadedLibraryNames;
- private static Vector systemNativeLibraries;
- private Vector nativeLibraries = new Vector();
- private static Stack nativeLibraryContext;
- private static String[] usr_paths;
- private static String[] sys_paths;
- private boolean defaultAssertionStatus = false;
- private Map packageAssertionStatus = null;
- Map classAssertionStatus = null;
-
- private static native void registerNatives();
-
- void addClass(Class var1) {
- this.classes.addElement(var1);
- }
-
- protected ClassLoader(ClassLoader var1) {
- SecurityManager var2 = System.getSecurityManager();
- if (var2 != null) {
- var2.checkCreateClassLoader();
- }
-
- this.parent = var1;
- this.initialized = true;
- }
-
- protected ClassLoader() {
- SecurityManager var1 = System.getSecurityManager();
- if (var1 != null) {
- var1.checkCreateClassLoader();
- }
-
- this.parent = getSystemClassLoader();
- this.initialized = true;
- }
-
- public Class<?> loadClass(String var1) throws ClassNotFoundException {
- return this.loadClass(var1, false);
- }
-
- protected synchronized Class<?> loadClass(String var1, boolean var2) throws ClassNotFoundException {
- Class var3 = this.findLoadedClass(var1);
- if (var3 == null) {
- try {
- if (this.parent != null) {
- var3 = this.parent.loadClass(var1, false);
- } else {
- var3 = this.findBootstrapClass0(var1);
- }
- } catch (ClassNotFoundException var5) {
- var3 = this.findClass(var1);
- }
- }
-
- if (var2) {
- this.resolveClass(var3);
- }
-
- return var3;
- }
-
- private synchronized Class loadClassInternal(String var1) throws ClassNotFoundException {
- return this.loadClass(var1);
- }
-
- private void checkPackageAccess(Class var1, ProtectionDomain var2) {
- SecurityManager var3 = System.getSecurityManager();
- if (var3 != null) {
- String var4 = var1.getName();
- int var5 = var4.lastIndexOf(46);
- if (var5 != -1) {
- AccessController.doPrivileged(new 1(this, var3, var4, var5), new AccessControlContext(new ProtectionDomain[]{var2}));
- }
- }
-
- this.domains.add(var2);
- }
-
- protected Class<?> findClass(String var1) throws ClassNotFoundException {
- throw new ClassNotFoundException(var1);
- }
-
- /** @deprecated */
- @Deprecated
- protected final Class<?> defineClass(byte[] var1, int var2, int var3) throws ClassFormatError {
- return this.defineClass((String)null, var1, var2, var3, (ProtectionDomain)null);
- }
-
- protected final Class<?> defineClass(String var1, byte[] var2, int var3, int var4) throws ClassFormatError {
- return this.defineClass(var1, var2, var3, var4, (ProtectionDomain)null);
- }
-
- private ProtectionDomain preDefineClass(String var1, ProtectionDomain var2) {
- if (!this.checkName(var1)) {
- throw new NoClassDefFoundError("IllegalName: " + var1);
- } else if (var1 != null && var1.startsWith("java.")) {
- throw new SecurityException("Prohibited package name: " + var1.substring(0, var1.lastIndexOf(46)));
- } else {
- if (var2 == null) {
- var2 = this.getDefaultDomain();
- }
-
- if (var1 != null) {
- this.checkCerts(var1, var2.getCodeSource());
- }
-
- return var2;
- }
- }
-
- private String defineClassSourceLocation(ProtectionDomain var1) {
- CodeSource var2 = var1.getCodeSource();
- String var3 = null;
- if (var2 != null && var2.getLocation() != null) {
- var3 = var2.getLocation().toString();
- }
-
- return var3;
- }
-
- private Class defineTransformedClass(String var1, byte[] var2, int var3, int var4, ProtectionDomain var5, ClassFormatError var6, String var7) throws ClassFormatError {
- Object[] var8 = ClassFileTransformer.getTransformers();
- Class var9 = null;
-
- for(int var10 = 0; var8 != null && var10 < var8.length; ++var10) {
- try {
- byte[] var11 = ((ClassFileTransformer)var8[var10]).transform(var2, var3, var4);
- var9 = this.defineClass1(var1, var11, 0, var11.length, var5, var7);
- break;
- }
- }
-
- if (var9 == null) {
- throw var6;
- } else {
- return var9;
- }
- }
-
- private void postDefineClass(Class var1, ProtectionDomain var2) {
- if (var2.getCodeSource() != null) {
- Certificate[] var3 = var2.getCodeSource().getCertificates();
- if (var3 != null) {
- this.setSigners(var1, var3);
- }
- }
-
- }
-
- protected final Class<?> defineClass(String var1, byte[] var2, int var3, int var4, ProtectionDomain var5) throws ClassFormatError {
- this.check();
- var5 = this.preDefineClass(var1, var5);
- Object var6 = null;
- String var7 = this.defineClassSourceLocation(var5);
-
- try {
- var11 = this.defineClass1(var1, var2, var3, var4, var5, var7);
- } catch (ClassFormatError var9) {
- var11 = this.defineTransformedClass(var1, var2, var3, var4, var5, var9, var7);
- }
-
- this.postDefineClass(var11, var5);
- return var11;
- }
-
- protected final Class<?> defineClass(String var1, ByteBuffer var2, ProtectionDomain var3) throws ClassFormatError {
- this.check();
- int var4 = var2.remaining();
- if (!var2.isDirect()) {
- if (var2.hasArray()) {
- return this.defineClass(var1, var2.array(), var2.position() + var2.arrayOffset(), var4, var3);
- } else {
- byte[] var12 = new byte[var4];
- var2.get(var12);
- return this.defineClass(var1, var12, 0, var4, var3);
- }
- } else {
- var3 = this.preDefineClass(var1, var3);
- Object var5 = null;
- String var6 = this.defineClassSourceLocation(var3);
-
- try {
- var11 = this.defineClass2(var1, var2, var2.position(), var4, var3, var6);
- } catch (ClassFormatError var9) {
- byte[] var8 = new byte[var4];
- var2.get(var8);
- var11 = this.defineTransformedClass(var1, var8, 0, var4, var3, var9, var6);
- }
-
- this.postDefineClass(var11, var3);
- return var11;
- }
- }
-
- private native Class defineClass0(String var1, byte[] var2, int var3, int var4, ProtectionDomain var5);
-
- private native Class defineClass1(String var1, byte[] var2, int var3, int var4, ProtectionDomain var5, String var6);
-
- private native Class defineClass2(String var1, ByteBuffer var2, int var3, int var4, ProtectionDomain var5, String var6);
-
- private boolean checkName(String var1) {
- if (var1 != null && var1.length() != 0) {
- return var1.indexOf(47) == -1 && (VM.allowArraySyntax() || var1.charAt(0) != '[');
- } else {
- return true;
- }
- }
-
- private synchronized void checkCerts(String var1, CodeSource var2) {
- int var3 = var1.lastIndexOf(46);
- String var4 = var3 == -1 ? "" : var1.substring(0, var3);
- Certificate[] var5 = (Certificate[])this.package2certs.get(var4);
- if (var5 == null) {
- if (var2 != null) {
- var5 = var2.getCertificates();
- }
-
- if (var5 == null) {
- if (this.nocerts == null) {
- this.nocerts = new Certificate[0];
- }
-
- var5 = this.nocerts;
- }
-
- this.package2certs.put(var4, var5);
- } else {
- Certificate[] var6 = null;
- if (var2 != null) {
- var6 = var2.getCertificates();
- }
-
- if (!this.compareCerts(var5, var6)) {
- throw new SecurityException("class \"" + var1 + "\"'s signer information does not match signer information of other classes in the same package");
- }
- }
-
- }
-
- private boolean compareCerts(Certificate[] var1, Certificate[] var2) {
- if (var2 != null && var2.length != 0) {
- if (var2.length != var1.length) {
- return false;
- } else {
- for(int var4 = 0; var4 < var2.length; ++var4) {
- boolean var3 = false;
-
- for(int var5 = 0; var5 < var1.length; ++var5) {
- if (var2[var4].equals(var1[var5])) {
- var3 = true;
- break;
- }
- }
-
- if (!var3) {
- return false;
- }
- }
-
- for(int var7 = 0; var7 < var1.length; ++var7) {
- boolean var6 = false;
-
- for(int var8 = 0; var8 < var2.length; ++var8) {
- if (var1[var7].equals(var2[var8])) {
- var6 = true;
- break;
- }
- }
-
- if (!var6) {
- return false;
- }
- }
-
- return true;
- }
- } else {
- return var1.length == 0;
- }
- }
-
- protected final void resolveClass(Class<?> var1) {
- this.check();
- this.resolveClass0(var1);
- }
-
- private native void resolveClass0(Class var1);
-
- protected final Class<?> findSystemClass(String var1) throws ClassNotFoundException {
- this.check();
- ClassLoader var2 = getSystemClassLoader();
- if (var2 == null) {
- if (!this.checkName(var1)) {
- throw new ClassNotFoundException(var1);
- } else {
- return this.findBootstrapClass(var1);
- }
- } else {
- return var2.loadClass(var1);
- }
- }
-
- private Class findBootstrapClass0(String var1) throws ClassNotFoundException {
- this.check();
- if (!this.checkName(var1)) {
- throw new ClassNotFoundException(var1);
- } else {
- return this.findBootstrapClass(var1);
- }
- }
-
- private native Class findBootstrapClass(String var1) throws ClassNotFoundException;
-
- private void check() {
- if (!this.initialized) {
- throw new SecurityException("ClassLoader object not initialized");
- }
- }
-
- protected final Class<?> findLoadedClass(String var1) {
- this.check();
- return !this.checkName(var1) ? null : this.findLoadedClass0(var1);
- }
-
- private final native Class findLoadedClass0(String var1);
-
- protected final void setSigners(Class<?> var1, Object[] var2) {
- this.check();
- var1.setSigners(var2);
- }
-
- public URL getResource(String var1) {
- URL var2;
- if (this.parent != null) {
- var2 = this.parent.getResource(var1);
- } else {
- var2 = getBootstrapResource(var1);
- }
-
- if (var2 == null) {
- var2 = this.findResource(var1);
- }
-
- return var2;
- }
-
- public Enumeration<URL> getResources(String var1) throws IOException {
- Enumeration[] var2 = new Enumeration[2];
- if (this.parent != null) {
- var2[0] = this.parent.getResources(var1);
- } else {
- var2[0] = getBootstrapResources(var1);
- }
-
- var2[1] = this.findResources(var1);
- return new CompoundEnumeration(var2);
- }
-
- protected URL findResource(String var1) {
- return null;
- }
-
- protected Enumeration<URL> findResources(String var1) throws IOException {
- return new CompoundEnumeration(new Enumeration[0]);
- }
-
- public static URL getSystemResource(String var0) {
- ClassLoader var1 = getSystemClassLoader();
- return var1 == null ? getBootstrapResource(var0) : var1.getResource(var0);
- }
-
- public static Enumeration<URL> getSystemResources(String var0) throws IOException {
- ClassLoader var1 = getSystemClassLoader();
- return var1 == null ? getBootstrapResources(var0) : var1.getResources(var0);
- }
-
- private static URL getBootstrapResource(String var0) {
- URLClassPath var1 = getBootstrapClassPath();
- Resource var2 = var1.getResource(var0);
- return var2 != null ? var2.getURL() : null;
- }
-
- private static Enumeration getBootstrapResources(String var0) throws IOException {
- Enumeration var1 = getBootstrapClassPath().getResources(var0);
- return new 2(var1);
- }
-
- static URLClassPath getBootstrapClassPath() {
- if (bootstrapClassPath == null) {
- bootstrapClassPath = Launcher.getBootstrapClassPath();
- }
-
- return bootstrapClassPath;
- }
-
- public InputStream getResourceAsStream(String var1) {
- URL var2 = this.getResource(var1);
-
- try {
- return var2 != null ? var2.openStream() : null;
- } catch (IOException var4) {
- return null;
- }
- }
-
- public static InputStream getSystemResourceAsStream(String var0) {
- URL var1 = getSystemResource(var0);
-
- try {
- return var1 != null ? var1.openStream() : null;
- } catch (IOException var3) {
- return null;
- }
- }
-
- public final ClassLoader getParent() {
- if (this.parent == null) {
- return null;
- } else {
- SecurityManager var1 = System.getSecurityManager();
- if (var1 != null) {
- ClassLoader var2 = getCallerClassLoader();
- if (var2 != null && !this.isAncestor(var2)) {
- var1.checkPermission(SecurityConstants.GET_CLASSLOADER_PERMISSION);
- }
- }
-
- return this.parent;
- }
- }
-
- public static ClassLoader getSystemClassLoader() {
- initSystemClassLoader();
- if (scl == null) {
- return null;
- } else {
- SecurityManager var0 = System.getSecurityManager();
- if (var0 != null) {
- ClassLoader var1 = getCallerClassLoader();
- if (var1 != null && var1 != scl && !scl.isAncestor(var1)) {
- var0.checkPermission(SecurityConstants.GET_CLASSLOADER_PERMISSION);
- }
- }
-
- return scl;
- }
- }
-
- private static synchronized void initSystemClassLoader() {
- if (!sclSet) {
- if (scl != null) {
- throw new IllegalStateException("recursive invocation");
- }
-
- Launcher var0 = Launcher.getLauncher();
- if (var0 != null) {
- Throwable var1 = null;
- scl = var0.getClassLoader();
-
- try {
- SystemClassLoaderAction var2 = new SystemClassLoaderAction(scl);
- scl = (ClassLoader)AccessController.doPrivileged(var2);
- } catch (PrivilegedActionException var3) {
- var1 = var3.getCause();
- if (var1 instanceof InvocationTargetException) {
- var1 = var1.getCause();
- }
- }
-
- if (var1 != null) {
- if (var1 instanceof Error) {
- throw (Error)var1;
- }
-
- throw new Error(var1);
- }
- }
-
- sclSet = true;
- }
-
- }
-
- boolean isAncestor(ClassLoader var1) {
- ClassLoader var2 = this;
-
- do {
- var2 = var2.parent;
- if (var1 == var2) {
- return true;
- }
- } while(var2 != null);
-
- return false;
- }
-
- static ClassLoader getCallerClassLoader() {
- Class var0 = Reflection.getCallerClass(3);
- return var0 == null ? null : var0.getClassLoader0();
- }
-
- protected Package definePackage(String var1, String var2, String var3, String var4, String var5, String var6, String var7, URL var8) throws IllegalArgumentException {
- synchronized(this.packages) {
- Package var10 = this.getPackage(var1);
- if (var10 != null) {
- throw new IllegalArgumentException(var1);
- } else {
- var10 = new Package(var1, var2, var3, var4, var5, var6, var7, var8, this);
- this.packages.put(var1, var10);
- return var10;
- }
- }
- }
-
- protected Package getPackage(String var1) {
- synchronized(this.packages) {
- Package var3 = (Package)this.packages.get(var1);
- if (var3 == null) {
- if (this.parent != null) {
- var3 = this.parent.getPackage(var1);
- } else {
- var3 = Package.getSystemPackage(var1);
- }
-
- if (var3 != null) {
- this.packages.put(var1, var3);
- }
- }
-
- return var3;
- }
- }
-
- protected Package[] getPackages() {
- Map var1;
- synchronized(this.packages) {
- var1 = (Map)this.packages.clone();
- }
-
- Package[] var2;
- if (this.parent != null) {
- var2 = this.parent.getPackages();
- } else {
- var2 = Package.getSystemPackages();
- }
-
- if (var2 != null) {
- for(int var3 = 0; var3 < var2.length; ++var3) {
- String var4 = var2[var3].getName();
- if (var1.get(var4) == null) {
- var1.put(var4, var2[var3]);
- }
- }
- }
-
- return (Package[])var1.values().toArray(new Package[var1.size()]);
- }
-
- protected String findLibrary(String var1) {
- return null;
- }
-
- private synchronized ProtectionDomain getDefaultDomain() {
- if (this.defaultDomain == null) {
- CodeSource var1 = new CodeSource((URL)null, (Certificate[])null);
- this.defaultDomain = new ProtectionDomain(var1, (PermissionCollection)null, this, (Principal[])null);
- }
-
- return this.defaultDomain;
- }
-
- private static String[] initializePath(String var0) {
- String var1 = System.getProperty(var0, "");
- String var2 = File.pathSeparator;
- int var3 = var1.length();
- int var4 = var1.indexOf(var2);
-
- int var6;
- for(var6 = 0; var4 >= 0; var4 = var1.indexOf(var2, var4 + 1)) {
- ++var6;
- }
-
- String[] var7 = 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) {
- var7[var6++] = var1.substring(var4, var5);
- } else if (var5 - var4 == 0) {
- var7[var6++] = ".";
- }
-
- var4 = var5 + 1;
- }
-
- var7[var6] = var1.substring(var4, var3);
- return var7;
- }
-
- static void loadLibrary(Class var0, String var1, boolean var2) {
- ClassLoader var3 = var0 == null ? null : var0.getClassLoader();
- if (sys_paths == null) {
- usr_paths = initializePath("java.library.path");
- sys_paths = initializePath("sun.boot.library.path");
- }
-
- if (var2) {
- if (!loadLibrary0(var0, new File(var1))) {
- throw new UnsatisfiedLinkError("Can't load library: " + var1);
- }
- } else {
- if (var3 != null) {
- String var4 = var3.findLibrary(var1);
- if (var4 != null) {
- File var9 = new File(var4);
- if (!var9.isAbsolute()) {
- throw new UnsatisfiedLinkError("ClassLoader.findLibrary failed to return an absolute path: " + var4);
- }
-
- if (loadLibrary0(var0, var9)) {
- return;
- }
-
- throw new UnsatisfiedLinkError("Can't load " + var4);
- }
- }
-
- for(int var6 = 0; var6 < sys_paths.length; ++var6) {
- File var5 = new File(sys_paths[var6], System.mapLibraryName(var1));
- if (loadLibrary0(var0, var5)) {
- return;
- }
- }
-
- if (var3 != null) {
- for(int var7 = 0; var7 < usr_paths.length; ++var7) {
- File var8 = new File(usr_paths[var7], System.mapLibraryName(var1));
- if (loadLibrary0(var0, var8)) {
- return;
- }
- }
- }
-
- throw new UnsatisfiedLinkError("no " + var1 + " in java.library.path");
- }
- }
-
- private static boolean loadLibrary0(Class var0, File var1) {
- Boolean var2 = (Boolean)AccessController.doPrivileged(new 3(var1));
- if (!var2) {
- return false;
- } else {
- String var3;
- try {
- var3 = var1.getCanonicalPath();
- } catch (IOException var20) {
- return false;
- }
-
- ClassLoader var4 = var0 == null ? null : var0.getClassLoader();
- Vector var5 = var4 != null ? var4.nativeLibraries : systemNativeLibraries;
- synchronized(var5) {
- int var7 = var5.size();
-
- for(int var8 = 0; var8 < var7; ++var8) {
- NativeLibrary var9 = (NativeLibrary)var5.elementAt(var8);
- if (var3.equals(var9.name)) {
- return true;
- }
- }
-
- boolean var25;
- synchronized(loadedLibraryNames) {
- if (loadedLibraryNames.contains(var3)) {
- throw new UnsatisfiedLinkError("Native Library " + var3 + " already loaded in another classloader");
- }
-
- int var23 = nativeLibraryContext.size();
-
- for(int var10 = 0; var10 < var23; ++var10) {
- NativeLibrary var11 = (NativeLibrary)nativeLibraryContext.elementAt(var10);
- if (var3.equals(var11.name)) {
- if (var4 != java.lang.ClassLoader.NativeLibrary.access$200(var11).getClassLoader()) {
- throw new UnsatisfiedLinkError("Native Library " + var3 + " is being loaded in another classloader");
- }
-
- var25 = true;
- return var25;
- }
- }
-
- NativeLibrary var24 = new NativeLibrary(var0, var3);
- nativeLibraryContext.push(var24);
-
- try {
- var24.load(var3);
- } finally {
- nativeLibraryContext.pop();
- }
-
- if (var24.handle != 0L) {
- loadedLibraryNames.addElement(var3);
- var5.addElement(var24);
- var25 = true;
- return var25;
- }
-
- var25 = false;
- }
-
- return var25;
- }
- }
- }
-
- static long findNative(ClassLoader var0, String var1) {
- Vector var2 = var0 != null ? var0.nativeLibraries : systemNativeLibraries;
- synchronized(var2) {
- int var4 = var2.size();
-
- for(int var5 = 0; var5 < var4; ++var5) {
- NativeLibrary var6 = (NativeLibrary)var2.elementAt(var5);
- long var7 = var6.find(var1);
- if (var7 != 0L) {
- return var7;
- }
- }
-
- return 0L;
- }
- }
-
- public synchronized void setDefaultAssertionStatus(boolean var1) {
- if (this.classAssertionStatus == null) {
- this.initializeJavaAssertionMaps();
- }
-
- this.defaultAssertionStatus = var1;
- }
-
- public synchronized void setPackageAssertionStatus(String var1, boolean var2) {
- if (this.packageAssertionStatus == null) {
- this.initializeJavaAssertionMaps();
- }
-
- this.packageAssertionStatus.put(var1, var2);
- }
-
- public synchronized void setClassAssertionStatus(String var1, boolean var2) {
- if (this.classAssertionStatus == null) {
- this.initializeJavaAssertionMaps();
- }
-
- this.classAssertionStatus.put(var1, var2);
- }
-
- public synchronized void clearAssertionStatus() {
- this.classAssertionStatus = new HashMap();
- this.packageAssertionStatus = new HashMap();
- this.defaultAssertionStatus = false;
- }
-
- synchronized boolean desiredAssertionStatus(String var1) {
- Boolean var2 = (Boolean)this.classAssertionStatus.get(var1);
- if (var2 != null) {
- return var2;
- } else {
- int var3 = var1.lastIndexOf(".");
- if (var3 < 0) {
- var2 = (Boolean)this.packageAssertionStatus.get((Object)null);
- if (var2 != null) {
- return var2;
- }
- }
-
- while(var3 > 0) {
- var1 = var1.substring(0, var3);
- var2 = (Boolean)this.packageAssertionStatus.get(var1);
- if (var2 != null) {
- return var2;
- }
-
- var3 = var1.lastIndexOf(".", var3 - 1);
- }
-
- return this.defaultAssertionStatus;
- }
- }
-
- private void initializeJavaAssertionMaps() {
- this.classAssertionStatus = new HashMap();
- this.packageAssertionStatus = new HashMap();
- AssertionStatusDirectives var1 = retrieveDirectives();
-
- for(int var2 = 0; var2 < var1.classes.length; ++var2) {
- this.classAssertionStatus.put(var1.classes[var2], var1.classEnabled[var2]);
- }
-
- for(int var3 = 0; var3 < var1.packages.length; ++var3) {
- this.packageAssertionStatus.put(var1.packages[var3], var1.packageEnabled[var3]);
- }
-
- this.defaultAssertionStatus = var1.deflt;
- }
-
- private static native AssertionStatusDirectives retrieveDirectives();
-
- // $FF: synthetic method
- static Vector access$000() {
- return loadedLibraryNames;
- }
-
- // $FF: synthetic method
- static Stack access$100() {
- return nativeLibraryContext;
- }
-
- static {
- registerNatives();
- loadedLibraryNames = new Vector();
- systemNativeLibraries = new Vector();
- nativeLibraryContext = new Stack();
- }
- }
-