public inbox for mauve-discuss@sourceware.org
 help / color / mirror / Atom feed
* Mauve vs 1.5
@ 2006-12-25 16:06 Mark Wielaard
  2006-12-25 23:30 ` Tom Tromey
  0 siblings, 1 reply; 3+ messages in thread
From: Mark Wielaard @ 2006-12-25 16:06 UTC (permalink / raw)
  To: classpath, mauve-discuss

Hi,

Here is the Christmas riddle for you all.

Going through the mauve diffs between GNU Classpath 0.93 and current CVS
which switched to full 1.5 language support I noticed some compilation
errors. There are 2 main failures:

When compiling mauve without the 1.5 flag there is the following issue
with anything extending java.io.Writer. e.g.:

1. ERROR in gnu/testlet/java/io/CharArrayWriter/ProtectedVars.java  line 30:
        public class ProtectedVars extends CharArrayWriter implements Testlet
                     ^^^^^^^^^^^^^
  The return type is incompatible with Writer.append(CharSequence, int, int), CharArrayWriter.append(CharSequence, int, int)

jcf-dump shows the issue. CharArrayWriter implements Writer which
extends Appendable, but makes the return type of some methods more
specific:

Method name:"append" public Signature: (char)java.io.Writer
Method name:"append" public bridge synthetic Signature: (char)java.lang.Appendable

Without -1.5 the bridge method for the covariant return type is ignored.
Meaning that the compiler thinks that the class isn't implementing
public Appendable append(char c) as defined by the super interface
Appendable.

Now this is of course easily fixed by using -1.5 so the compiler knows
about covariant return types and makes all these tests that define
classes that extend some Writer class compile again.

But now we have another problem. Shown by anything that has implements a
retrofitted Comparable<T> interface like Integer:

1. ERROR in gnu/testlet/java/lang/Integer/compareTo.java  line 98:
        harness.check(zero.compareTo(o) == 0);
                           ^^^^^^^^^
  The method compareTo(Integer) in the type Integer is not applicable for the arguments (Object)

Oops. Since for those classes that had a compareTo(Object) already those
were removed since if you implement a compareTo(T) method you
automatically get a compareTo(Object) bridge method as jcf-dump shows
again:

Method name:"compareTo" public Signature: (java.lang.Integer)int
Method name:"compareTo" public bridge synthetic Signature: (java.lang.Object)int

Thanks to erasure it is still binary compatible, but no longer source
compatible since now the compiler can error out while doing static type
checking instead of having to go through the bridge method and
generating a ClassCastException during runtime.

So how do we get Mauve to compile and run the most tests? Just switching
to -1.4 or -1.5 for compilation is not enough since it exposes different
problems. And we cannot even easily use the Tags to see what flag to use
since there is a difference between binary and source compatibility. We
could introduce yet another Tag and adopt the build/Harness system to
compile with an extra (-1.4 or -1.5) flag. That is a bit of an hassle
though and introduces yet another layer to deal with for people using
Mauve.

So I am inclined to switch fully to -1.5 and just rewrite those tests
that use compareTo(Object) to use the "proper" type and not explicitly
check for ClassCastExceptions during runtime in Mauve itself. I don't
see any way to easily use -1.4 and make the Appendable things work. And
I assume we will want to switch to full 1.5 support in Mauve sooner or
later anyway.

Any thoughts, ideas?

Cheers,

Mark

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Mauve vs 1.5
  2006-12-25 16:06 Mauve vs 1.5 Mark Wielaard
@ 2006-12-25 23:30 ` Tom Tromey
  2006-12-27 15:46   ` Mark Wielaard
  0 siblings, 1 reply; 3+ messages in thread
From: Tom Tromey @ 2006-12-25 23:30 UTC (permalink / raw)
  To: Mark Wielaard; +Cc: classpath, mauve-discuss

>>>>> "Mark" == Mark Wielaard <mark@klomp.org> writes:

[ CharArrayWriter and Appendable ]
Mark> Now this is of course easily fixed by using -1.5 so the compiler knows
Mark> about covariant return types and makes all these tests that define
Mark> classes that extend some Writer class compile again.

Yes, let's do that...

Mark> But now we have another problem. Shown by anything that has implements a
Mark> retrofitted Comparable<T> interface like Integer:

Mark> 1. ERROR in gnu/testlet/java/lang/Integer/compareTo.java  line 98:
Mark>         harness.check(zero.compareTo(o) == 0);
Mark>                            ^^^^^^^^^
Mark>   The method compareTo(Integer) in the type Integer is not applicable for the arguments (Object)

In this code, 'o' is just 'zero' cast to an Object.

You could just change it to use compareTo(zero), but that doesn't test
the same thing...

You could change it to:

harness.check(((Comparable) zero).compareTo(o) == 0);

This will check using the raw Comparable and preserve the meaning of
the test, more or less.

Tom

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Mauve vs 1.5
  2006-12-25 23:30 ` Tom Tromey
@ 2006-12-27 15:46   ` Mark Wielaard
  0 siblings, 0 replies; 3+ messages in thread
From: Mark Wielaard @ 2006-12-27 15:46 UTC (permalink / raw)
  To: tromey; +Cc: classpath, mauve-discuss

[-- Attachment #1: Type: text/plain, Size: 3321 bytes --]

Hi Tom,

On Mon, 2006-12-25 at 14:23 -0700, Tom Tromey wrote:
> >>>>> "Mark" == Mark Wielaard <mark@klomp.org> writes:
> 
> [ CharArrayWriter and Appendable ]
> Mark> Now this is of course easily fixed by using -1.5 so the compiler knows
> Mark> about covariant return types and makes all these tests that define
> Mark> classes that extend some Writer class compile again.
> 
> Yes, let's do that...
> 
> Mark> But now we have another problem. Shown by anything that has implements a
> Mark> retrofitted Comparable<T> interface like Integer:
> 
> Mark> 1. ERROR in gnu/testlet/java/lang/Integer/compareTo.java  line 98:
> Mark>         harness.check(zero.compareTo(o) == 0);
> Mark>                            ^^^^^^^^^
> Mark>   The method compareTo(Integer) in the type Integer is not applicable for the arguments (Object)
> 
> In this code, 'o' is just 'zero' cast to an Object.
> 
> You could just change it to use compareTo(zero), but that doesn't test
> the same thing...
> 
> You could change it to:
> 
> harness.check(((Comparable) zero).compareTo(o) == 0);
> 
> This will check using the raw Comparable and preserve the meaning of
> the test, more or less.

Nice. I hadn't thought about that solution. And it does seem to test the
thing that the original code was testing. Attached is the patch that
I'll commit to switch to -1.5 by default now. Most issues were fixed by
the above trick. Some others were done by supplying more specific types
for some (local) variables. There are some tests disabled now regarding
getEventListeners() for classes that don't extend EventListener. I don't
see a way to adapt these tests, but they also look like something that
nobody would every do in real world code. But if someone has a trick to
test this for some real-world cases that would be nice.

2006-12-27  Mark Wielaard  <mark@klomp.org>

    * Makefile.am (JAVACFLAGS): Use -1.5.
    * Makefile.in: Regenerated.
    * gnu/testlet/java/awt/Component/getListeners.java: Disable
    non-compiling test.
    * gnu/testlet/javax/swing/table/DefaultTableColumnModel/
    getListeners.java: Likewise.
    * gnu/testlet/java/awt/Container/getListeners.java: Likewise.
    * gnu/testlet/javax/swing/DefaultListSelectionModel/
    getListeners.java: Likewise.
    * gnu/testlet/javax/swing/JComponent/getListeners.java:
    Likewise.
    * gnu/testlet/javax/swing/event/EventListenerList/add.java: Use
    more specific local variable types.
    * gnu/testlet/javax/swing/event/EventListenerList/
    getListenerCount.java: Likewise.
    * gnu/testlet/javax/swing/event/EventListenerList/
    getListenerList.java: Likewise.
    * gnu/testlet/javax/swing/event/EventListenerList/getListeners.java:
    Likewise. Disable non-compiling test.
    * gnu/testlet/javax/swing/event/EventListenerList/remove.java:
    Likewise.
    * gnu/testlet/java/lang/Double/compareTo.java: Add Comparable cast.
    * gnu/testlet/java/lang/Float/compareTo.java: Likewise.
    * gnu/testlet/java/lang/Integer/compareTo.java: Likewise.
    * gnu/testlet/java/math/BigDecimal/DiagBigDecimal.java: Likewise.
    * gnu/testlet/java/math/BigInteger/compareTo.java: Likewise.
    * gnu/testlet/java/util/Date/compareTo.java: Likewise.
    * gnu/testlet/javax/imageio/spi/ServiceRegistry/setOrdering.java:
    Use correct class literal.

Cheers,

Mark

[-- Attachment #2: mauve-15.patch --]
[-- Type: text/x-patch, Size: 16476 bytes --]

Index: Makefile.am
===================================================================
RCS file: /cvs/mauve/mauve/Makefile.am,v
retrieving revision 1.32
diff -u -r1.32 Makefile.am
--- Makefile.am	26 Nov 2006 16:30:03 -0000	1.32
+++ Makefile.am	27 Dec 2006 15:44:57 -0000
@@ -3,7 +3,7 @@
 ## FIXME: dependencies
 AUTOMAKE_OPTIONS = foreign subdir-objects no-dependencies
 
-JAVACFLAGS = -g
+JAVACFLAGS = -g -1.5
 
 TESTFLAGS =
 
Index: Makefile.in
===================================================================
RCS file: /cvs/mauve/mauve/Makefile.in,v
retrieving revision 1.41
diff -u -r1.41 Makefile.in
--- Makefile.in	26 Nov 2006 16:30:03 -0000	1.41
+++ Makefile.in	27 Dec 2006 15:44:57 -0000
@@ -154,7 +154,7 @@
 sysconfdir = @sysconfdir@
 target_alias = @target_alias@
 AUTOMAKE_OPTIONS = foreign subdir-objects no-dependencies
-JAVACFLAGS = -g
+JAVACFLAGS = -g -1.5
 TESTFLAGS = 
 check_DATA = $(STAMP)
 harness_files = \
Index: gnu/testlet/java/awt/Component/getListeners.java
===================================================================
RCS file: /cvs/mauve/mauve/gnu/testlet/java/awt/Component/getListeners.java,v
retrieving revision 1.1
diff -u -r1.1 getListeners.java
--- gnu/testlet/java/awt/Component/getListeners.java	23 Nov 2005 14:52:58 -0000	1.1
+++ gnu/testlet/java/awt/Component/getListeners.java	27 Dec 2006 15:44:57 -0000
@@ -69,6 +69,7 @@
     }
     harness.check(pass);
     
+  /* Doesn't compile with 1.5
     // try a class that isn't a listener
     pass = false;
     try
@@ -80,6 +81,7 @@
       pass = true;
     }
     harness.check(pass);
+  */
   }
   
   public void componentResized(ComponentEvent e) 
Index: gnu/testlet/java/awt/Container/getListeners.java
===================================================================
RCS file: /cvs/mauve/mauve/gnu/testlet/java/awt/Container/getListeners.java,v
retrieving revision 1.1
diff -u -r1.1 getListeners.java
--- gnu/testlet/java/awt/Container/getListeners.java	23 Nov 2005 15:04:57 -0000	1.1
+++ gnu/testlet/java/awt/Container/getListeners.java	27 Dec 2006 15:44:57 -0000
@@ -69,7 +69,8 @@
       pass = true;    
     }
     harness.check(pass);
-    
+
+  /* Doesn't compile with 1.5    
     // try a class that isn't a listener
     pass = false;
     try
@@ -81,6 +82,7 @@
       pass = true;
     }
     harness.check(pass);
+  */
   }
   
   public void componentAdded(ContainerEvent e) 
Index: gnu/testlet/java/lang/Double/compareTo.java
===================================================================
RCS file: /cvs/mauve/mauve/gnu/testlet/java/lang/Double/compareTo.java,v
retrieving revision 1.1
diff -u -r1.1 compareTo.java
--- gnu/testlet/java/lang/Double/compareTo.java	19 Feb 2005 20:34:54 -0000	1.1
+++ gnu/testlet/java/lang/Double/compareTo.java	27 Dec 2006 15:44:57 -0000
@@ -83,7 +83,7 @@
     boolean pass = false;
     try 
     {
-      d1.compareTo((Float) null);
+      ((Comparable)d1).compareTo((Float) null);
     }
     catch (NullPointerException e) 
     {
@@ -100,7 +100,7 @@
     boolean pass = false;
     try 
     {
-      d1.compareTo((Object) null);
+      ((Comparable)d1).compareTo((Object) null);
     }
     catch (NullPointerException e) 
     {
@@ -111,7 +111,7 @@
     pass = false;
     try 
     {
-      d1.compareTo("Not a Double!");
+      ((Comparable)d1).compareTo("Not a Double!");
     }
     catch (ClassCastException e) 
     {
@@ -120,4 +120,4 @@
     harness.check(pass);
     
   }
-}
\ No newline at end of file
+}
Index: gnu/testlet/java/lang/Float/compareTo.java
===================================================================
RCS file: /cvs/mauve/mauve/gnu/testlet/java/lang/Float/compareTo.java,v
retrieving revision 1.1
diff -u -r1.1 compareTo.java
--- gnu/testlet/java/lang/Float/compareTo.java	19 Feb 2005 20:34:54 -0000	1.1
+++ gnu/testlet/java/lang/Float/compareTo.java	27 Dec 2006 15:44:57 -0000
@@ -99,7 +99,7 @@
     boolean pass = false;
     try 
     {
-      f1.compareTo((Object) null);
+      ((Comparable)f1).compareTo((Object) null);
     }
     catch (NullPointerException e) 
     {
@@ -110,7 +110,7 @@
     pass = false;
     try 
     {
-      f1.compareTo("Not a Float!");
+      ((Comparable)f1).compareTo("Not a Float!");
     }
     catch (ClassCastException e) 
     {
@@ -119,4 +119,4 @@
     harness.check(pass);
   }
 
-}
\ No newline at end of file
+}
Index: gnu/testlet/java/lang/Integer/compareTo.java
===================================================================
RCS file: /cvs/mauve/mauve/gnu/testlet/java/lang/Integer/compareTo.java,v
retrieving revision 1.1
diff -u -r1.1 compareTo.java
--- gnu/testlet/java/lang/Integer/compareTo.java	9 Aug 2001 09:24:14 -0000	1.1
+++ gnu/testlet/java/lang/Integer/compareTo.java	27 Dec 2006 15:44:57 -0000
@@ -95,7 +95,7 @@
 
     Object o = zero;
     boolean ok;
-    harness.check(zero.compareTo(o) == 0);
+    harness.check(((Comparable)zero).compareTo(o) == 0);
 
     ok = false;
     try
@@ -111,7 +111,7 @@
     ok = false;
     try
       {
-	zero.compareTo((Object) null);
+	((Comparable)zero).compareTo((Object) null);
       }
     catch (NullPointerException e)
       {
@@ -122,7 +122,7 @@
     ok = false;
     try
       {
-	zero.compareTo(new Object());
+	((Comparable)zero).compareTo(new Object());
       }
     catch (ClassCastException e)
       {
Index: gnu/testlet/java/math/BigDecimal/DiagBigDecimal.java
===================================================================
RCS file: /cvs/mauve/mauve/gnu/testlet/java/math/BigDecimal/DiagBigDecimal.java,v
retrieving revision 1.4
diff -u -r1.4 DiagBigDecimal.java
--- gnu/testlet/java/math/BigDecimal/DiagBigDecimal.java	27 Jan 2003 15:45:27 -0000	1.4
+++ gnu/testlet/java/math/BigDecimal/DiagBigDecimal.java	27 Dec 2006 15:44:57 -0000
@@ -1856,16 +1856,16 @@
   BigDecimal long2;
   
   d=new BigDecimal(17);
-  harness.check ((d.compareTo((java.lang.Object)(new BigDecimal(66))))==(-1), "cto001");
-  harness.check ((d.compareTo((java.lang.Object)((new BigDecimal(10)).add(new BigDecimal(7)))))==0, "cto002");
-  harness.check ((d.compareTo((java.lang.Object)(new BigDecimal(10))))==1, "cto003");
+  harness.check ((((Comparable)d).compareTo((java.lang.Object)(new BigDecimal(66))))==(-1), "cto001");
+  harness.check ((((Comparable)d).compareTo((java.lang.Object)((new BigDecimal(10)).add(new BigDecimal(7)))))==0, "cto002");
+  harness.check ((((Comparable)d).compareTo((java.lang.Object)(new BigDecimal(10))))==1, "cto003");
   long1=new BigDecimal("12345678903");
   long2=new BigDecimal("12345678900");
-  harness.check ((long1.compareTo((java.lang.Object)long2))==1, "cto004");
-  harness.check ((long2.compareTo((java.lang.Object)long1))==(-1), "cto005");
-  harness.check ((long2.compareTo((java.lang.Object)long2))==0, "cto006");
+  harness.check ((((Comparable)long1).compareTo((java.lang.Object)long2))==1, "cto004");
+  harness.check ((((Comparable)long2).compareTo((java.lang.Object)long1))==(-1), "cto005");
+  harness.check ((((Comparable)long2).compareTo((java.lang.Object)long2))==0, "cto006");
   try{
-   d.compareTo((java.lang.Object)null);
+   ((Comparable)d).compareTo((java.lang.Object)null);
    flag=false;
   }
   catch (java.lang.NullPointerException xx92){
@@ -1873,7 +1873,7 @@
   }
   harness.check (flag, "cto101");
   try{
-   d.compareTo((java.lang.Object)"foo");
+   ((Comparable)d).compareTo((java.lang.Object)"foo");
    flag=false;
   }
   catch (java.lang.ClassCastException xx93){
Index: gnu/testlet/java/math/BigInteger/compareTo.java
===================================================================
RCS file: /cvs/mauve/mauve/gnu/testlet/java/math/BigInteger/compareTo.java,v
retrieving revision 1.1
diff -u -r1.1 compareTo.java
--- gnu/testlet/java/math/BigInteger/compareTo.java	19 Sep 2004 20:35:04 -0000	1.1
+++ gnu/testlet/java/math/BigInteger/compareTo.java	27 Dec 2006 15:44:57 -0000
@@ -76,7 +76,7 @@
     boolean pass = false;
     try
     {
-      a.compareTo(new Integer(1));
+      ((Comparable)a).compareTo(new Integer(1));
     }
     catch (ClassCastException ee) 
     {
Index: gnu/testlet/java/util/Date/compareTo.java
===================================================================
RCS file: /cvs/mauve/mauve/gnu/testlet/java/util/Date/compareTo.java,v
retrieving revision 1.1
diff -u -r1.1 compareTo.java
--- gnu/testlet/java/util/Date/compareTo.java	19 Feb 2005 20:27:13 -0000	1.1
+++ gnu/testlet/java/util/Date/compareTo.java	27 Dec 2006 15:44:58 -0000
@@ -101,7 +101,7 @@
     boolean pass = false;
     try 
     {
-      d1.compareTo((Object) null);
+      ((Comparable)d1).compareTo((Object) null);
     }
     catch (NullPointerException e) 
     {
@@ -112,7 +112,7 @@
     pass = false;
     try 
     {
-      d1.compareTo("Not a Date!");
+      ((Comparable)d1).compareTo("Not a Date!");
     }
     catch (ClassCastException e) 
     {
@@ -120,4 +120,4 @@
     }
     harness.check(pass);
   }
-}
\ No newline at end of file
+}
Index: gnu/testlet/javax/imageio/spi/ServiceRegistry/setOrdering.java
===================================================================
RCS file: /cvs/mauve/mauve/gnu/testlet/javax/imageio/spi/ServiceRegistry/setOrdering.java,v
retrieving revision 1.1
diff -u -r1.1 setOrdering.java
--- gnu/testlet/javax/imageio/spi/ServiceRegistry/setOrdering.java	24 Mar 2004 07:55:39 -0000	1.1
+++ gnu/testlet/javax/imageio/spi/ServiceRegistry/setOrdering.java	27 Dec 2006 15:44:58 -0000
@@ -58,7 +58,7 @@
     caught = null;
     try
       {
-        registry.setOrdering(List.class, "foo", "bar");
+        registry.setOrdering(String.class, "foo",  null);
       }
     catch (Exception ex)
       {
Index: gnu/testlet/javax/swing/DefaultListSelectionModel/getListeners.java
===================================================================
RCS file: /cvs/mauve/mauve/gnu/testlet/javax/swing/DefaultListSelectionModel/getListeners.java,v
retrieving revision 1.1
diff -u -r1.1 getListeners.java
--- gnu/testlet/javax/swing/DefaultListSelectionModel/getListeners.java	31 May 2006 09:07:44 -0000	1.1
+++ gnu/testlet/javax/swing/DefaultListSelectionModel/getListeners.java	27 Dec 2006 15:44:58 -0000
@@ -51,6 +51,7 @@
         m.getListeners(ListSelectionListener.class); 
     harness.check(listeners[0], this);
     
+  /* Doesn't compile with 1.5
     boolean pass = false;
     try
       {
@@ -61,6 +62,7 @@
         pass = true;
       }
     harness.check(pass);
+  */
   }
   
 }
Index: gnu/testlet/javax/swing/JComponent/getListeners.java
===================================================================
RCS file: /cvs/mauve/mauve/gnu/testlet/javax/swing/JComponent/getListeners.java,v
retrieving revision 1.3
diff -u -r1.3 getListeners.java
--- gnu/testlet/javax/swing/JComponent/getListeners.java	28 Jun 2006 14:29:34 -0000	1.3
+++ gnu/testlet/javax/swing/JComponent/getListeners.java	27 Dec 2006 15:44:58 -0000
@@ -113,6 +113,7 @@
     }
     harness.check(pass);
     
+  /* Doesn't compile with 1.5
     // try a class that isn't a listener
     pass = false;
     try
@@ -124,6 +125,7 @@
       pass = true;
     }
     harness.check(pass);
+  */
   }
   
   public void ancestorMoved(AncestorEvent e)
Index: gnu/testlet/javax/swing/event/EventListenerList/add.java
===================================================================
RCS file: /cvs/mauve/mauve/gnu/testlet/javax/swing/event/EventListenerList/add.java,v
retrieving revision 1.1
diff -u -r1.1 add.java
--- gnu/testlet/javax/swing/event/EventListenerList/add.java	6 Jan 2004 07:44:24 -0000	1.1
+++ gnu/testlet/javax/swing/event/EventListenerList/add.java	27 Dec 2006 15:44:58 -0000
@@ -51,8 +51,8 @@
   public void test(TestHarness harness)
   {
     EventListenerList ell = new EventListenerList();
-    EventListener l1 = new L();
-    EventListener l2 = new L();
+    L l1 = new L();
+    L l2 = new L();
     Object[] list;
 
     // Check #1.
Index: gnu/testlet/javax/swing/event/EventListenerList/getListenerCount.java
===================================================================
RCS file: /cvs/mauve/mauve/gnu/testlet/javax/swing/event/EventListenerList/getListenerCount.java,v
retrieving revision 1.1
diff -u -r1.1 getListenerCount.java
--- gnu/testlet/javax/swing/event/EventListenerList/getListenerCount.java	6 Jan 2004 14:25:55 -0000	1.1
+++ gnu/testlet/javax/swing/event/EventListenerList/getListenerCount.java	27 Dec 2006 15:44:58 -0000
@@ -40,10 +40,10 @@
   public void test(TestHarness harness)
   {
     EventListenerList ell = new EventListenerList();
-    EventListener l1 = new L1();
-    EventListener l2 = new L2();
-    EventListener l3_1 = new L3();
-    EventListener l3_2 = new L3();
+    L1 l1 = new L1();
+    L2 l2 = new L2();
+    L3 l3_1 = new L3();
+    L3 l3_2 = new L3();
 
     // Check #1.
     harness.check(ell.getListenerCount(), 0);
Index: gnu/testlet/javax/swing/event/EventListenerList/getListenerList.java
===================================================================
RCS file: /cvs/mauve/mauve/gnu/testlet/javax/swing/event/EventListenerList/getListenerList.java,v
retrieving revision 1.1
diff -u -r1.1 getListenerList.java
--- gnu/testlet/javax/swing/event/EventListenerList/getListenerList.java	6 Jan 2004 14:25:55 -0000	1.1
+++ gnu/testlet/javax/swing/event/EventListenerList/getListenerList.java	27 Dec 2006 15:44:58 -0000
@@ -43,7 +43,7 @@
   {
     EventListenerList ell = new EventListenerList();
     EventListener l1 = new L();
-    EventListener l2 = new L();
+    L l2 = new L();
     Object[] list;
 
     // Check #1.
Index: gnu/testlet/javax/swing/event/EventListenerList/getListeners.java
===================================================================
RCS file: /cvs/mauve/mauve/gnu/testlet/javax/swing/event/EventListenerList/getListeners.java,v
retrieving revision 1.1
diff -u -r1.1 getListeners.java
--- gnu/testlet/javax/swing/event/EventListenerList/getListeners.java	6 Jan 2004 14:25:55 -0000	1.1
+++ gnu/testlet/javax/swing/event/EventListenerList/getListeners.java	27 Dec 2006 15:44:58 -0000
@@ -58,10 +58,10 @@
   public void test(TestHarness harness)
   {
     EventListenerList ell = new EventListenerList();
-    EventListener l1a = new L1();
-    EventListener l1b = new L1();
-    EventListener l2 = new L2();
-    EventListener l3 = new L3();
+    L1 l1a = new L1();
+    L1 l1b = new L1();
+    L2 l2 = new L2();
+    L3 l3 = new L3();
     EventListener[] list;
     Throwable caught;
 
@@ -105,6 +105,7 @@
       }
     harness.check(caught instanceof NullPointerException);
 
+  /* Doesn't compile with 1.5
     // Check #15.
     caught = null;
     try
@@ -116,5 +117,6 @@
         caught = ex;
       }
     harness.check(caught instanceof ClassCastException);
+  */
   }
 }
Index: gnu/testlet/javax/swing/event/EventListenerList/remove.java
===================================================================
RCS file: /cvs/mauve/mauve/gnu/testlet/javax/swing/event/EventListenerList/remove.java,v
retrieving revision 1.1
diff -u -r1.1 remove.java
--- gnu/testlet/javax/swing/event/EventListenerList/remove.java	6 Jan 2004 08:57:12 -0000	1.1
+++ gnu/testlet/javax/swing/event/EventListenerList/remove.java	27 Dec 2006 15:44:58 -0000
@@ -47,7 +47,7 @@
   {
     EventListenerList ell = new EventListenerList();
     EventListener l1 = new L();
-    EventListener l2 = new L();
+    L l2 = new L();
     Object[] list;
     Throwable caught;
 
@@ -108,6 +108,7 @@
       }
     harness.check(caught, null);
 
+  /* Doesn't compile with 1.5
     // Check #8: Removing non-instance.
     // Classpath bug #7105.
     caught = null;
@@ -120,6 +121,7 @@
         caught = ex;
       }
     harness.check(caught instanceof IllegalArgumentException);
+  */
 
     // Unsuccessful attempts should not change the list.
     list = ell.getListenerList();    
Index: gnu/testlet/javax/swing/table/DefaultTableColumnModel/getListeners.java
===================================================================
RCS file: /cvs/mauve/mauve/gnu/testlet/javax/swing/table/DefaultTableColumnModel/getListeners.java,v
retrieving revision 1.2
diff -u -r1.2 getListeners.java
--- gnu/testlet/javax/swing/table/DefaultTableColumnModel/getListeners.java	28 Apr 2005 07:37:36 -0000	1.2
+++ gnu/testlet/javax/swing/table/DefaultTableColumnModel/getListeners.java	27 Dec 2006 15:44:58 -0000
@@ -62,6 +62,7 @@
     }
     harness.check(pass);
     
+  /* Doesn't compile with 1.5.
     pass = false;
     try
     {
@@ -72,6 +73,7 @@
       pass = true;  
     }
     harness.check(pass);
+  */
   }
 
 }

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2006-12-27 15:46 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-12-25 16:06 Mauve vs 1.5 Mark Wielaard
2006-12-25 23:30 ` Tom Tromey
2006-12-27 15:46   ` Mark Wielaard

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).