Commit 92002f50 by Tom Tromey Committed by Tom Tromey

URLClassLoader.java (URLClassLoader): Now package-private.

	* java/net/URLClassLoader.java (URLClassLoader): Now
	package-private.
	* java/nio/charset/CoderResult.java (CoderResult): Now
	package-private.
	(get): Likewise.
	(Cache): Likewise.  Don't synchronize on `this'.
	* java/rmi/server/RMIClassLoader.java (MyClassLoader): Now
	package-private.
	* java/util/TimeZone.java (timezones): Now package-private.

From-SVN: r90203
parent 96859aa4
2004-11-06 Tom Tromey <tromey@redhat.com> 2004-11-06 Tom Tromey <tromey@redhat.com>
* java/net/URLClassLoader.java (URLClassLoader): Now
package-private.
* java/nio/charset/CoderResult.java (CoderResult): Now
package-private.
(get): Likewise.
(Cache): Likewise. Don't synchronize on `this'.
* java/rmi/server/RMIClassLoader.java (MyClassLoader): Now
package-private.
* java/util/TimeZone.java (timezones): Now package-private.
2004-11-06 Tom Tromey <tromey@redhat.com>
* java/security/Permissions.java (perms): Now package-private. * java/security/Permissions.java (perms): Now package-private.
* java/security/UnresolvedPermission.java (permissions): Now * java/security/UnresolvedPermission.java (permissions): Now
package-private. package-private.
......
/* URLClassLoader.java -- ClassLoader that loads classes from one or more URLs /* URLClassLoader.java -- ClassLoader that loads classes from one or more URLs
Copyright (C) 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
This file is part of GNU Classpath. This file is part of GNU Classpath.
...@@ -661,8 +661,9 @@ public class URLClassLoader extends SecureClassLoader ...@@ -661,8 +661,9 @@ public class URLClassLoader extends SecureClassLoader
addURLs(urls); addURLs(urls);
} }
// Package-private to avoid a trampoline constructor.
/** /**
* Private constructor used by the static * Package-private constructor used by the static
* <code>newInstance(URL[])</code> method. Creates an * <code>newInstance(URL[])</code> method. Creates an
* <code>URLClassLoader</code> with the given parent but without any * <code>URLClassLoader</code> with the given parent but without any
* <code>URL</code>s yet. This is used to bypass the normal security * <code>URL</code>s yet. This is used to bypass the normal security
...@@ -674,8 +675,7 @@ public class URLClassLoader extends SecureClassLoader ...@@ -674,8 +675,7 @@ public class URLClassLoader extends SecureClassLoader
* *
* @param securityContext the security context of the unprivileged code. * @param securityContext the security context of the unprivileged code.
*/ */
private URLClassLoader(ClassLoader parent, URLClassLoader(ClassLoader parent, AccessControlContext securityContext)
AccessControlContext securityContext)
{ {
super(parent); super(parent);
this.factory = null; this.factory = null;
......
/* CoderResult.java -- /* CoderResult.java --
Copyright (C) 2002 Free Software Foundation, Inc. Copyright (C) 2002, 2004 Free Software Foundation, Inc.
This file is part of GNU Classpath. This file is part of GNU Classpath.
...@@ -82,7 +82,8 @@ public class CoderResult ...@@ -82,7 +82,8 @@ public class CoderResult
private final int type; private final int type;
private final int length; private final int length;
private CoderResult (int type, int length) // Package-private to avoid a trampoline constructor.
CoderResult (int type, int length)
{ {
this.type = type; this.type = type;
this.length = length; this.length = length;
...@@ -157,19 +158,14 @@ public class CoderResult ...@@ -157,19 +158,14 @@ public class CoderResult
{ {
private final HashMap cache; private final HashMap cache;
private Cache () // Package-private to avoid a trampoline constructor.
Cache ()
{ {
// If we didn't synchronize on this, then cache would be initialized cache = new HashMap ();
// without holding a lock. Undefined behavior would occur if the
// first thread to call get(int) was not the same as the one that
// called the constructor.
synchronized (this)
{
cache = new HashMap ();
}
} }
private synchronized CoderResult get (int length) // Package-private to avoid a trampoline.
synchronized CoderResult get (int length)
{ {
if (length <= 0) if (length <= 0)
throw new IllegalArgumentException ("Non-positive length"); throw new IllegalArgumentException ("Non-positive length");
......
...@@ -57,7 +57,8 @@ public class RMIClassLoader ...@@ -57,7 +57,8 @@ public class RMIClassLoader
{ {
private static class MyClassLoader extends URLClassLoader private static class MyClassLoader extends URLClassLoader
{ {
private MyClassLoader (URL[] urls, ClassLoader parent, String annotation) // Package-private to avoid a trampoline constructor.
MyClassLoader (URL[] urls, ClassLoader parent, String annotation)
{ {
super (urls, parent); super (urls, parent);
this.annotation = annotation; this.annotation = annotation;
......
...@@ -134,7 +134,8 @@ public abstract class TimeZone implements java.io.Serializable, Cloneable ...@@ -134,7 +134,8 @@ public abstract class TimeZone implements java.io.Serializable, Cloneable
/* initialize this static field lazily to overhead if /* initialize this static field lazily to overhead if
* it is not needed: * it is not needed:
*/ */
private static synchronized HashMap timezones() // Package-private to avoid a trampoline.
static synchronized HashMap timezones()
{ {
if (timezones0 == null) if (timezones0 == null)
{ {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment