This is the mail archive of the java-patches@gcc.gnu.org mailing list for the Java project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Patch: FYI: more merges


I'm checking this in on the trunk and the RH 4.1 branch.

This merges a few more classes with Classpath.  I think I got them all
but it is hard to be sure... we still have *way* too many divergences.

I noticed today that ProcessBuilder is broken in libgcj.  I think this
was a "temporary" merge artifact.  Ugh.

This patch also fixes a buglet in LogManager.  I put the fix in the
upstream Classpath, but I didn't bother putting it in our local copy,
as that is not used.

Tom

Index: ChangeLog
from  Tom Tromey  <tromey@redhat.com>
	* java/util/logging/LogManager.java (loggers): Genericized.
	(addLogger): Merged.
	(findAncestor): Likewise.
	(getLogger): Likewise.
	(getLoggerNames): Genericized.
	(reset): Merged.
	(getLevelProperty): Likewise.
	* java/lang/reflect/Method.java (getDeclaringClass): Genericized.
	* java/lang/reflect/Constructor.java (getParameterTypes):
	Genericized.
	(getExceptionTypes): Likewise.
	(newInstance): Likewise.
	* java/lang/reflect/Array.java (newInstance): Genericized.
	* java/lang/Object.java (getClass): Genericized.
	* java/nio/charset/spi/CharsetProvider.java (charsets):
	Genericized.
	* java/text/Collator.java: Implement Comparable<Object>.

Index: java/lang/Object.java
===================================================================
--- java/lang/Object.java	(revision 121470)
+++ java/lang/Object.java	(working copy)
@@ -1,5 +1,5 @@
 /* java.lang.Object - The universal superclass in Java
-   Copyright (C) 1998, 1999, 2000, 2001, 2002, 2004
+   Copyright (C) 1998, 1999, 2000, 2001, 2002, 2004, 2007
    Free Software Foundation, Inc.
 
 This file is part of GNU Classpath.
@@ -129,7 +129,7 @@
    *
    * @return the class of this Object
    */
-  public final native Class getClass();
+  public final native Class<? extends Object> getClass();
 
   /**
    * Get a value that represents this Object, as uniquely as
Index: java/lang/reflect/Array.java
===================================================================
--- java/lang/reflect/Array.java	(revision 121470)
+++ java/lang/reflect/Array.java	(working copy)
@@ -1,5 +1,5 @@
 /* java.lang.reflect.Array - manipulate arrays by reflection
-   Copyright (C) 1998, 1999, 2001, 2003, 2005  Free Software Foundation, Inc.
+   Copyright (C) 1998, 1999, 2001, 2003, 2005, 2007  Free Software Foundation, Inc.
 
 This file is part of GNU Classpath.
 
@@ -104,7 +104,7 @@
    * @throws NegativeArraySizeException when length is less than 0
    * @throws OutOfMemoryError if memory allocation fails
    */
-  public static native Object newInstance(Class componentType, int length);
+  public static native Object newInstance(Class<?> componentType, int length);
 
   /**
    * Creates a new multi-dimensioned array.  The new array has the same
@@ -130,7 +130,7 @@
    *         than 0
    * @throws OutOfMemoryError if memory allocation fails
    */
-  public static native Object newInstance(Class elementType, int[] dimensions);
+  public static native Object newInstance(Class<?> elementType, int[] dimensions);
 
   /**
    * Gets the array length.
Index: java/lang/reflect/Method.java
===================================================================
--- java/lang/reflect/Method.java	(revision 121470)
+++ java/lang/reflect/Method.java	(working copy)
@@ -1,6 +1,6 @@
 // Method.java - Represent method of class or interface.
 
-/* Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2006  Free Software Foundation
+/* Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2006, 2007  Free Software Foundation
 
    This file is part of libgcj.
 
@@ -68,7 +68,7 @@
    * is a non-inherited member.
    * @return the class that declared this member
    */
-  public Class getDeclaringClass()
+  public Class<?> getDeclaringClass()
   {
     return declaringClass;
   }
Index: java/lang/reflect/Constructor.java
===================================================================
--- java/lang/reflect/Constructor.java	(revision 121470)
+++ java/lang/reflect/Constructor.java	(working copy)
@@ -1,5 +1,5 @@
 /* java.lang.reflect.Constructor - reflection of Java constructors
-   Copyright (C) 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006
+   Copyright (C) 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, 2007
    Free Software Foundation, Inc.
 
 This file is part of GNU Classpath.
@@ -155,11 +155,11 @@
    *
    * @return a list of the types of the constructor's parameters
    */
-  public Class[] getParameterTypes ()
+  public Class<?>[] getParameterTypes ()
   {
     if (parameter_types == null)
       getType ();
-    return (Class[]) parameter_types.clone();
+    return (Class<?>[]) parameter_types.clone();
   }
 
   /**
@@ -169,11 +169,11 @@
    *
    * @return a list of the types in the constructor's throws clause
    */
-  public Class[] getExceptionTypes ()
+  public Class<?>[] getExceptionTypes ()
   {
     if (exception_types == null)
       getType();
-    return (Class[]) exception_types.clone();
+    return (Class<?>[]) exception_types.clone();
   }
 
   /**
@@ -305,7 +305,7 @@
    * @throws ExceptionInInitializerError if construction triggered class
    *         initialization, which then failed
    */
-  public native Object newInstance (Object[] args)
+  public native T newInstance (Object... args)
     throws InstantiationException, IllegalAccessException,
     IllegalArgumentException, InvocationTargetException;
 
Index: java/text/Collator.java
===================================================================
--- java/text/Collator.java	(revision 121470)
+++ java/text/Collator.java	(working copy)
@@ -1,5 +1,5 @@
 /* Collator.java -- Perform locale dependent String comparisons.
-   Copyright (C) 1998, 1999, 2000, 2001, 2004, 2005  Free Software Foundation, Inc.
+   Copyright (C) 1998, 1999, 2000, 2001, 2004, 2005, 2007  Free Software Foundation, Inc.
 
 This file is part of GNU Classpath.
 
@@ -68,11 +68,7 @@
  * @author Aaron M. Renn (arenn@urbanophile.com)
  * @date March 18, 1999
  */
-/* Written using "Java Class Libraries", 2nd edition, plus online
- * API docs for JDK 1.2 from http://www.javasoft.com.
- * Status: Mostly complete, but parts stubbed out.  Look for FIXME.
- */
-public abstract class Collator implements Comparator, Cloneable
+public abstract class Collator implements Comparator<Object>, Cloneable
 {
   /**
    * This constant is a strength value which indicates that only primary
@@ -292,7 +288,7 @@
    * specified locale.  If no <code>Collator</code> exists for the desired
    * locale, a <code>Collator</code> for the default locale will be returned.
    *
-   * @param loc The desired localed to load a <code>Collator</code> for.
+   * @param loc The desired locale to load a <code>Collator</code> for.
    *
    * @return A <code>Collator</code> for the requested locale
    */
Index: java/nio/charset/spi/CharsetProvider.java
===================================================================
--- java/nio/charset/spi/CharsetProvider.java	(revision 121470)
+++ java/nio/charset/spi/CharsetProvider.java	(working copy)
@@ -1,5 +1,5 @@
 /* CharsetProvider.java -- charset service provider interface
-   Copyright (C) 2002, 2006 Free Software Foundation
+   Copyright (C) 2002, 2006, 2007 Free Software Foundation
 
 This file is part of GNU Classpath.
 
@@ -83,7 +83,7 @@
    * @return the iterator
    * @see Charset#availableCharsets()
    */
-  public abstract Iterator charsets();
+  public abstract Iterator<Charset> charsets();
 
   /**
    * Returns the named charset, by canonical name or alias.
Index: java/util/logging/LogManager.java
===================================================================
--- java/util/logging/LogManager.java	(revision 121470)
+++ java/util/logging/LogManager.java	(working copy)
@@ -1,6 +1,6 @@
 /* LogManager.java -- a class for maintaining Loggers and managing
    configuration properties
-   Copyright (C) 2002, 2005, 2006 Free Software Foundation, Inc.
+   Copyright (C) 2002, 2005, 2006, 2007 Free Software Foundation, Inc.
 
 This file is part of GNU Classpath.
 
@@ -129,7 +129,7 @@
    * The registered named loggers; maps the name of a Logger to
    * a WeakReference to it.
    */
-  private Map loggers;
+  private Map<String, WeakReference<Logger>> loggers;
 
   /**
    * The properties for the logging framework which have been
@@ -269,7 +269,7 @@
      */
     name = logger.getName();
 
-    ref = (WeakReference) loggers.get(name);
+    ref = loggers.get(name);
     if (ref != null)
       {
 	if (ref.get() != null)
@@ -286,7 +286,7 @@
       checkAccess();
 
     Logger parent = findAncestor(logger);
-    loggers.put(name, new WeakReference(logger));
+    loggers.put(name, new WeakReference<Logger>(logger));
     if (parent != logger.getParent())
       logger.setParent(parent);
 
@@ -362,15 +362,13 @@
     int bestNameLength = 0;
 
     Logger cand;
-    String candName;
     int candNameLength;
 
     if (child == Logger.root)
       return null;
 
-    for (Iterator iter = loggers.keySet().iterator(); iter.hasNext();)
+    for (String candName : loggers.keySet())
       {
-	candName = (String) iter.next();
 	candNameLength = candName.length();
 
 	if (candNameLength > bestNameLength
@@ -378,7 +376,7 @@
 	    && childName.startsWith(candName)
 	    && childName.charAt(candNameLength) == '.')
 	  {
-	    cand = (Logger) ((WeakReference) loggers.get(candName)).get();
+	    cand = loggers.get(candName).get();
 	    if ((cand == null) || (cand == child))
 	      continue;
 
@@ -403,14 +401,14 @@
    */
   public synchronized Logger getLogger(String name)
   {
-    WeakReference ref;
+    WeakReference<Logger> ref;
 
     /* Throw a NullPointerException if name is null. */
     name.getClass();
 
-    ref = (WeakReference) loggers.get(name);
+    ref = loggers.get(name);
     if (ref != null)
-      return (Logger) ref.get();
+      return ref.get();
     else
       return null;
   }
@@ -423,7 +421,7 @@
    * @return an Enumeration with the names of the currently
    *    registered Loggers.
    */
-  public synchronized Enumeration getLoggerNames()
+  public synchronized Enumeration<String> getLoggerNames()
   {
     return Collections.enumeration(loggers.keySet());
   }
@@ -446,16 +444,16 @@
 
     properties = new Properties();
 
-    Iterator iter = loggers.values().iterator();
+    Iterator<WeakReference<Logger>> iter = loggers.values().iterator();
     while (iter.hasNext())
       {
-	WeakReference ref;
+	WeakReference<Logger> ref;
 	Logger logger;
 
-	ref = (WeakReference) iter.next();
+	ref = iter.next();
 	if (ref != null)
 	  {
-	    logger = (Logger) ref.get();
+	    logger = ref.get();
 
 	    if (logger == null)
 	      iter.remove();
@@ -710,7 +708,11 @@
   {
     try
       {
-	return Level.parse(getLogManager().getProperty(propertyName));
+        String value = getLogManager().getProperty(propertyName);
+	if (value != null)
+	  return Level.parse(getLogManager().getProperty(propertyName));
+        else
+	   return defaultValue;
       }
     catch (Exception ex)
       {


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]