Issue610576

classification
Title: Impl of abstract method not found
Type: Severity: normal
Components: Core Versions:
Milestone:
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: fwierzbicki Nosy List: bckfnn, cgroves, fwierzbicki
Priority: urgent Keywords:

Created on 2002-09-17.14:30:05 by bckfnn, last changed 2006-09-01.21:52:46 by cgroves.

Messages
msg739 (view) Author: Finn Bock (bckfnn) Date: 2002-09-17.14:30:05
The ProxyMaker first adds methods for interfaces, even
when an implementation of the method exists in java
superclass. This cause error:
AttributeError: abstract method "addListDataListener"
not implemented 
msg740 (view) Author: Finn Bock (bckfnn) Date: 2002-09-17.14:35:30
Logged In: YES 
user_id=4201

Added as test366.
msg741 (view) Author: Finn Bock (bckfnn) Date: 2002-09-17.14:38:19
Logged In: YES 
user_id=4201

I think something like this is enough but I can't test now.:

Index: ProxyMaker.java
===================================================================
RCS file:
/cvsroot/jython/jython/org/python/compiler/ProxyMaker.java,v
retrieving revision 2.16
diff -u -r2.16 ProxyMaker.java
--- ProxyMaker.java     27 Nov 2001 19:07:21 -0000      2.16
+++ ProxyMaker.java     17 Sep 2002 14:36:53 -0000
@@ -767,6 +767,7 @@
         classfile.addInterface("org/python/core/PyProxy");

         Hashtable seenmethods = new Hashtable();
+        addMethods(superclass, seenmethods);
         for (int i=0; i<interfaces.length; i++) {
             if (interfaces[i].isAssignableFrom(superclass)) {
                 Py.writeWarning("compiler",
@@ -777,12 +778,9 @@
             classfile.addInterface(mapClass(interfaces[i]));
             addMethods(interfaces[i], seenmethods);
         }
-        addMethods(superclass, seenmethods);
         doConstants();
         addClassDictInit();
     }
msg742 (view) Author: Charlie Groves (cgroves) Date: 2006-09-01.21:52:46
Logged In: YES 
user_id=1174327

Finn's fix seemed to take care of it.  Commited in r2923.
History
Date User Action Args
2002-09-17 14:30:05bckfnncreate