Issue605098

classification
Title: jythonc outputs unqualified "Object"
Type: Severity: normal
Components: Jythonc compiler Versions:
Milestone:
process
Status: closed Resolution: wont fix
Dependencies: Superseder:
Assigned To: Nosy List: fwierzbicki, mattbehrens
Priority: low Keywords:

Created on 2002-09-05.15:08:23 by mattbehrens, last changed 2009-03-13.23:21:48 by fwierzbicki.

Messages
msg715 (view) Author: Matt Behrens (mattbehrens) Date: 2002-09-05.15:08:23
Trying to jar up jythonc itself to create a
self-contained ant task, I ran into the following type
of problem (100 of them, yow!)

./jpywork/foo/yapm.java:216: incompatible types
found   : org.python.core.PyList
required: foo.Object
            if (inst != null) inst._jcall(new Object[]
{arg0, arg1, arg2, Py.newBoolean(arg3),
Py.newBoolean(arg4)});
                                                      
       ^
Since jythonc comes with an "Object" class, javac
appears to prefer the one in my package to the
java.lang one.

It would seem the appropriate fix would be to have
javac emit java.lang.Object.  I grepped and grepped but
am not clear on how to make that happen.

To reproduce:

depender.py:
  from jythonc import main
  main.main()

$ jython
-Dpython.path=$JYTHONHOME/Lib:$JYTHONHOME/Tools
$JYTHONHOME/Tools/jythonc/jythonc.py --package foo
--jar depender.jar depender.py
msg716 (view) Author: Matt Behrens (mattbehrens) Date: 2002-09-05.15:49:18
Logged In: YES 
user_id=240525

Workaround: rename Tools/jythonc/Object.py to JycObject.py,
and change the import lines in compile.py and
ObjectFactory.py.  This works although I think it would be
more correct to have jythonc emit java.lang.Object.

Now there are only 20 warnings, looks like deprecated stuff
in J2SDK 1.4. :-)
msg4258 (view) Author: Frank Wierzbicki (fwierzbicki) Date: 2009-03-13.23:21:48
jythonc is no longer maintained
History
Date User Action Args
2009-03-13 23:21:48fwierzbickisetstatus: open -> closed
resolution: wont fix
messages: + msg4258
nosy: + fwierzbicki
2002-09-05 15:08:23mattbehrenscreate