On Thu, 3 Mar 2011, Andi Vajda wrote:


On Mar 3, 2011, at 22:09, Bill Janssen <jans...@parc.com> wrote:

Here's one of the generated lines that's causing me grief.

   DECLARE_TYPE(RankIterator, t_RankIterator, ::java::lang::Object, RankIterator, 
t_RankIterator_init_, PyObject_SelfIter, ((PyObject *(*)(t_RankIterator *)) 
get_next<t_RankIterator,t_JArray< jint >,JArray< jint >>),

Ah yes, that's invalid c++. Nested generics need to insert a space between '>'. 
Otherwise, the c++ parser gets it as the bit shifting operator, believe it or not. 
Should be easy enough to fix in jcc.

Fixed in trunk/branch_3x rev 1077828.

Andi..


Andi..

t_RankIterator__fields_, 0, 0);

It yields this:

build/_PPD/__wrap02__.cpp:27284: error: ?t_JArray? was not declared in this 
scope
build/_PPD/__wrap02__.cpp:27284: error: parse error in template argument list
build/_PPD/__wrap02__.cpp:27284: error: insufficient contextual information to 
determine type
build/_PPD/__wrap02__.cpp:27284: warning: ?>>? operator will be treated as two 
right angle brackets in C++0x
build/_PPD/__wrap02__.cpp:27284: warning: suggest parentheses around ?>>? 
expression
build/_PPD/__wrap02__.cpp:27284: error: spurious ?>>?, use ?>? to terminate a 
template argument list
build/_PPD/__wrap02__.cpp:27284: error: expected primary-expression before ?)? 
token
build/_PPD/__wrap02__.cpp:27284: error: too many initializers for ?PyTypeObject?

Where does t_JArray get defined?  I can't find it.

Bill

Reply via email to