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. 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