classpath-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[cp-patches] FYI: ClasspathToolkit Font constructor access fixlet


From: Mark Wielaard
Subject: [cp-patches] FYI: ClasspathToolkit Font constructor access fixlet
Date: Fri, 02 Sep 2005 01:02:23 +0200

Hi,

We were getting the wrong (public) constructor from the wrong class in
ClasspathToolkit. While fixing/debugging this I also chained the
original exception to better understand where the bug was.

2005-09-01  Mark Wielaard  <address@hidden>

        * gnu/java/awt/ClasspathToolkit.java (getFont): Get non-public
        constructor from Font. Chain "cannot happen" exceptions in
        AssertionError.

This fixes the mauve regression with gnu.testlet.java.awt.Font.decode.

Committed,

Mark

Index: gnu/java/awt/ClasspathToolkit.java
===================================================================
RCS file: /cvsroot/classpath/classpath/gnu/java/awt/ClasspathToolkit.java,v
retrieving revision 1.17
diff -u -r1.17 ClasspathToolkit.java
--- gnu/java/awt/ClasspathToolkit.java  25 Aug 2005 06:34:27 -0000      1.17
+++ gnu/java/awt/ClasspathToolkit.java  1 Sep 2005 23:01:56 -0000
@@ -140,7 +140,7 @@
     // java.awt.Font.Font(String,Map) constructor.
     try
       {
-        Constructor fontConstructor = Component.class.getConstructor
+        Constructor fontConstructor = Font.class.getDeclaredConstructor
           (new Class[] { String.class, Map.class });
         AccessController.doPrivileged
           (new SetAccessibleAction(fontConstructor));
@@ -148,23 +148,19 @@
       }
     catch (IllegalAccessException e)
       {
-        throw new RuntimeException
-          ("couldn't call java.awt.Font.Font(String,Map) constructor");
+        throw new AssertionError(e);
       }
     catch (NoSuchMethodException e)
       {
-        throw new RuntimeException
-          ("couldn't call java.awt.Font.Font(String,Map) constructor");
+        throw new AssertionError(e);
       }
     catch (InstantiationException e)
       {
-        throw new RuntimeException
-          ("couldn't call java.awt.Font.Font(String,Map) constructor");
+        throw new AssertionError(e);
       }
     catch (InvocationTargetException e)
       {
-        throw new RuntimeException
-          ("couldn't call java.awt.Font.Font(String,Map) constructor");
+        throw new AssertionError(e);
       }
     return f;
   }

Attachment: signature.asc
Description: This is a digitally signed message part


reply via email to

[Prev in Thread] Current Thread [Next in Thread]