[ https://issues.apache.org/jira/browse/PYLUCENE-16?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Andi Vajda reassigned PYLUCENE-16: ---------------------------------- Assignee: Andi Vajda > can't wrap weka because of attribute and method with the same name > ------------------------------------------------------------------ > > Key: PYLUCENE-16 > URL: https://issues.apache.org/jira/browse/PYLUCENE-16 > Project: PyLucene > Issue Type: Bug > Environment: Ubuntu Linux 10.04, Python 2.6, Java 6, PyLucene 3.5 > Reporter: Bill Janssen > Assignee: Andi Vajda > > I'm trying to wrap Weka, a popular machine learning system, with PyLucene. > One of the Weka classes, weka.core.Utils, has a public static variable, > and a public static method, with the same name (see below). When I > compile it, JCC has no way to say that, and I get the following: > In file included from build/_test/__wrap__.cpp:5983: > build/_test/test.h:36: error: declaration of 'static jdouble > test::log2(jdouble)' > build/_test/test.h:32: error: conflicts with previous declaration 'jdouble > test::log2' > build/_test/__wrap__.cpp:5990: error: 'jdouble test::log2' is not a static > member of 'class test' > build/_test/__wrap__.cpp: In static member function 'static _jclass* > test::initializeClass()': > build/_test/__wrap__.cpp:6006: error: assignment of read-only location > 'test::log2' > build/_test/__wrap__.cpp:6006: error: cannot convert 'jdouble' to > 'jdouble(jdouble)' in assignment > build/_test/__wrap__.cpp: In static member function 'static void > t_test::initialize(PyObject*)': > build/_test/__wrap__.cpp:6048: error: call of overloaded > 'make_descriptor(jdouble (&)(jdouble))' is ambiguous > /usr/local/lib/python2.6/dist-packages/JCC-2.11-py2.6-linux-x86_64.egg/jcc/sources/functions.h:102: > note: candidates are: PyObject* make_descriptor(_jclass* (*)()) <near match> > /usr/local/lib/python2.6/dist-packages/JCC-2.11-py2.6-linux-x86_64.egg/jcc/sources/functions.h:105: > note: PyObject* make_descriptor(PyObject* (*)(_jobject* > const&)) <near match> > /usr/local/lib/python2.6/dist-packages/JCC-2.11-py2.6-linux-x86_64.egg/jcc/sources/functions.h:106: > note: PyObject* make_descriptor(int (*)(PyTypeObject*, > PyObject*, java::lang::Object*)) <near match> > /usr/local/lib/python2.6/dist-packages/JCC-2.11-py2.6-linux-x86_64.egg/jcc/sources/functions.h:107: > note: PyObject* make_descriptor(jboolean) <near match> > /usr/local/lib/python2.6/dist-packages/JCC-2.11-py2.6-linux-x86_64.egg/jcc/sources/functions.h:108: > note: PyObject* make_descriptor(jbyte) <near match> > /usr/local/lib/python2.6/dist-packages/JCC-2.11-py2.6-linux-x86_64.egg/jcc/sources/functions.h:109: > note: PyObject* make_descriptor(jchar) <near match> > /usr/local/lib/python2.6/dist-packages/JCC-2.11-py2.6-linux-x86_64.egg/jcc/sources/functions.h:112: > note: PyObject* make_descriptor(jint) <near match> > /usr/local/lib/python2.6/dist-packages/JCC-2.11-py2.6-linux-x86_64.egg/jcc/sources/functions.h:113: > note: PyObject* make_descriptor(jlong) <near match> > /usr/local/lib/python2.6/dist-packages/JCC-2.11-py2.6-linux-x86_64.egg/jcc/sources/functions.h:114: > note: PyObject* make_descriptor(jshort) <near match> > error: command 'gcc' failed with exit status 1 > % > Here's a simple test case which exhibits the bug. Compile this and put it in > a jar file, then try to wrap that jar. > public final class test { > /** The natural logarithm of 2. */ > public static double log2 = Math.log(2); > /** > * Returns the logarithm of a for base 2. > * > * @param a a double > * @return the logarithm for base 2 > */ > public static /*@pure@*/ double log2(double a) { > > return Math.log(a) / log2; > } > } -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira