From 531e214a01d19e889065032689d727cb754861ce Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Wed, 29 Mar 2006 16:31:53 +0000 Subject: re PR java/26390 (Problem dispatching method call when method does not exist in superclass) gcc/java PR java/26390: * parse.y (find_most_specific_methods_list): Added 'class' argument. (lookup_method_invoke): Updated. libjava PR java/26390: * testsuite/libjava.lang/pr26390.out: New file. * testsuite/libjava.lang/pr26390.java: New file. * sources.am, Makefile.in: Rebuilt. * scripts/makemake.tcl: Compile gnu/java/awt/peer/swing. From-SVN: r112499 --- libjava/ChangeLog | 8 +++++ libjava/Makefile.in | 29 +++++++++++++++++-- libjava/scripts/makemake.tcl | 3 +- libjava/sources.am | 22 ++++++++++++++ libjava/testsuite/libjava.lang/pr26390.java | 45 +++++++++++++++++++++++++++++ libjava/testsuite/libjava.lang/pr26390.out | 0 6 files changed, 102 insertions(+), 5 deletions(-) create mode 100644 libjava/testsuite/libjava.lang/pr26390.java create mode 100644 libjava/testsuite/libjava.lang/pr26390.out (limited to 'libjava') diff --git a/libjava/ChangeLog b/libjava/ChangeLog index fe5de16..2c8ea41 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,5 +1,13 @@ 2006-03-29 Tom Tromey + PR java/26390: + * testsuite/libjava.lang/pr26390.out: New file. + * testsuite/libjava.lang/pr26390.java: New file. + * sources.am, Makefile.in: Rebuilt. + * scripts/makemake.tcl: Compile gnu/java/awt/peer/swing. + +2006-03-29 Tom Tromey + * posix.cc (_Jv_platform_nanotime): Look for CLOCK_MONOTONIC and CLOCK_HIGHRES. diff --git a/libjava/Makefile.in b/libjava/Makefile.in index d784fcc..b32f73e 100644 --- a/libjava/Makefile.in +++ b/libjava/Makefile.in @@ -234,9 +234,10 @@ am__DEPENDENCIES_2 = gnu/awt.lo gnu/awt/j2d.lo gnu/classpath.lo \ javax/swing/text/html/parser.lo javax/swing/text/rtf.lo \ javax/swing/tree.lo javax/swing/undo.lo javax/transaction.lo \ javax/transaction/xa.lo org/ietf/jgss.lo -am__DEPENDENCIES_3 = gnu-CORBA.lo gnu-java-beans.lo gnu-javax-rmi.lo \ - gnu-javax-sound-midi.lo gnu-xml.lo javax-imageio.lo \ - javax-rmi.lo javax-xml.lo org-omg.lo org-w3c.lo org-xml.lo +am__DEPENDENCIES_3 = gnu-CORBA.lo gnu-java-awt-peer-swing.lo \ + gnu-java-beans.lo gnu-javax-rmi.lo gnu-javax-sound-midi.lo \ + gnu-xml.lo javax-imageio.lo javax-rmi.lo javax-xml.lo \ + org-omg.lo org-w3c.lo org-xml.lo am__DEPENDENCIES_4 = $(patsubst classpath/resource/%,%,$(addsuffix \ .lo,$(property_files))) am__libgcj_la_SOURCES_DIST = prims.cc jni.cc exception.cc \ @@ -1372,6 +1373,22 @@ classpath/gnu/java/awt/peer/qt/QtToolkit.java \ classpath/gnu/java/awt/peer/qt/QtVolatileImage.java \ classpath/gnu/java/awt/peer/qt/QtWindowPeer.java +gnu_java_awt_peer_swing_source_files = \ +classpath/gnu/java/awt/peer/swing/SwingButtonPeer.java \ +classpath/gnu/java/awt/peer/swing/SwingCanvasPeer.java \ +classpath/gnu/java/awt/peer/swing/SwingComponent.java \ +classpath/gnu/java/awt/peer/swing/SwingComponentPeer.java \ +classpath/gnu/java/awt/peer/swing/SwingContainerPeer.java \ +classpath/gnu/java/awt/peer/swing/SwingFramePeer.java \ +classpath/gnu/java/awt/peer/swing/SwingLabelPeer.java \ +classpath/gnu/java/awt/peer/swing/SwingMenuBarPeer.java \ +classpath/gnu/java/awt/peer/swing/SwingMenuItemPeer.java \ +classpath/gnu/java/awt/peer/swing/SwingMenuPeer.java \ +classpath/gnu/java/awt/peer/swing/SwingPanelPeer.java \ +classpath/gnu/java/awt/peer/swing/SwingTextFieldPeer.java \ +classpath/gnu/java/awt/peer/swing/SwingToolkit.java \ +classpath/gnu/java/awt/peer/swing/SwingWindowPeer.java + gnu_java_beans_source_files = \ classpath/gnu/java/beans/BeanInfoEmbryo.java \ classpath/gnu/java/beans/DefaultExceptionListener.java \ @@ -6618,6 +6635,7 @@ ordinary_header_files = \ bc_objects = \ gnu-CORBA.lo \ + gnu-java-awt-peer-swing.lo \ gnu-java-beans.lo \ gnu-javax-rmi.lo \ gnu-javax-sound-midi.lo \ @@ -8662,6 +8680,11 @@ gnu-java-awt-peer-qt.lo: $(gnu_java_awt_peer_qt_source_files) $(LTGCJCOMPILE) -fjni -findirect-dispatch -c -o gnu-java-awt-peer-qt.lo @gnu-java-awt-peer-qt.list @rm -f gnu-java-awt-peer-qt.list +gnu-java-awt-peer-swing.lo: $(gnu_java_awt_peer_swing_source_files) + @find classpath/lib/gnu/java/awt/peer/swing -name '*.class' > gnu-java-awt-peer-swing.list + $(LTGCJCOMPILE) -fjni -findirect-dispatch -c -o gnu-java-awt-peer-swing.lo @gnu-java-awt-peer-swing.list + @rm -f gnu-java-awt-peer-swing.list + gnu-java-beans.lo: $(gnu_java_beans_source_files) @find classpath/lib/gnu/java/beans -name '*.class' > gnu-java-beans.list $(LTGCJCOMPILE) -fjni -findirect-dispatch -c -o gnu-java-beans.lo @gnu-java-beans.list diff --git a/libjava/scripts/makemake.tcl b/libjava/scripts/makemake.tcl index e4d4dd6..d50b65a 100755 --- a/libjava/scripts/makemake.tcl +++ b/libjava/scripts/makemake.tcl @@ -37,8 +37,7 @@ set package_map(.) package set package_map(gnu/test) ignore set package_map(gnu/javax/swing/plaf/gtk) ignore -# This package doesn't really work yet, and seems to trigger bug #26390 -set package_map(gnu/java/awt/peer/swing) ignore +set package_map(gnu/java/awt/peer/swing) bc set package_map(gnu/xml) bc set package_map(javax/imageio) bc diff --git a/libjava/sources.am b/libjava/sources.am index e9014b6..4748a1b 100644 --- a/libjava/sources.am +++ b/libjava/sources.am @@ -825,6 +825,27 @@ gnu-java-awt-peer-qt.lo: $(gnu_java_awt_peer_qt_source_files) $(LTGCJCOMPILE) -fjni -findirect-dispatch -c -o gnu-java-awt-peer-qt.lo @gnu-java-awt-peer-qt.list @rm -f gnu-java-awt-peer-qt.list +gnu_java_awt_peer_swing_source_files = \ +classpath/gnu/java/awt/peer/swing/SwingButtonPeer.java \ +classpath/gnu/java/awt/peer/swing/SwingCanvasPeer.java \ +classpath/gnu/java/awt/peer/swing/SwingComponent.java \ +classpath/gnu/java/awt/peer/swing/SwingComponentPeer.java \ +classpath/gnu/java/awt/peer/swing/SwingContainerPeer.java \ +classpath/gnu/java/awt/peer/swing/SwingFramePeer.java \ +classpath/gnu/java/awt/peer/swing/SwingLabelPeer.java \ +classpath/gnu/java/awt/peer/swing/SwingMenuBarPeer.java \ +classpath/gnu/java/awt/peer/swing/SwingMenuItemPeer.java \ +classpath/gnu/java/awt/peer/swing/SwingMenuPeer.java \ +classpath/gnu/java/awt/peer/swing/SwingPanelPeer.java \ +classpath/gnu/java/awt/peer/swing/SwingTextFieldPeer.java \ +classpath/gnu/java/awt/peer/swing/SwingToolkit.java \ +classpath/gnu/java/awt/peer/swing/SwingWindowPeer.java + +gnu-java-awt-peer-swing.lo: $(gnu_java_awt_peer_swing_source_files) + @find classpath/lib/gnu/java/awt/peer/swing -name '*.class' > gnu-java-awt-peer-swing.list + $(LTGCJCOMPILE) -fjni -findirect-dispatch -c -o gnu-java-awt-peer-swing.lo @gnu-java-awt-peer-swing.list + @rm -f gnu-java-awt-peer-swing.list + gnu_java_beans_source_files = \ classpath/gnu/java/beans/BeanInfoEmbryo.java \ classpath/gnu/java/beans/DefaultExceptionListener.java \ @@ -8186,6 +8207,7 @@ ordinary_header_files = \ bc_objects = \ gnu-CORBA.lo \ + gnu-java-awt-peer-swing.lo \ gnu-java-beans.lo \ gnu-javax-rmi.lo \ gnu-javax-sound-midi.lo \ diff --git a/libjava/testsuite/libjava.lang/pr26390.java b/libjava/testsuite/libjava.lang/pr26390.java new file mode 100644 index 0000000..09cca7e --- /dev/null +++ b/libjava/testsuite/libjava.lang/pr26390.java @@ -0,0 +1,45 @@ +public class pr26390 +{ + public interface ComponentPeer { + public void setBounds(); + } + + public interface ContainerPeer extends ComponentPeer { + } + + public interface WindowPeer extends ContainerPeer { + } + + public interface FramePeer extends WindowPeer { + } + + public static class SwingComponentPeer implements ComponentPeer { + public void setBounds() { + } + } + + public static class SwingContainerPeer + extends SwingComponentPeer implements ContainerPeer + { + } + + public static class SwingWindowPeer + extends SwingContainerPeer implements WindowPeer + { + } + + public static class SwingFramePeer + extends SwingWindowPeer implements FramePeer + { + public void setBounds() { + super.setBounds(); + } + } + + public static void main(String[] args) + { + SwingFramePeer s = new SwingFramePeer(); + s.setBounds(); + } +} + diff --git a/libjava/testsuite/libjava.lang/pr26390.out b/libjava/testsuite/libjava.lang/pr26390.out new file mode 100644 index 0000000..e69de29 -- cgit v1.1