Andi Vajda <va...@apache.org> wrote: > > 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.
Yeah, but not for me. After installing the latest JCC, I get this: build/_PPD/__wrap03__.cpp:15149: error: ‘t_JArray’ was not declared in this scope build/_PPD/__wrap03__.cpp:15149: error: parse error in template argument list build/_PPD/__wrap03__.cpp:15149: error: insufficient contextual information to determine type build/_PPD/__wrap03__.cpp:15149: error: expected primary-expression before ‘>’ token build/_PPD/__wrap03__.cpp:15149: error: expected primary-expression before ‘)’ token build/_PPD/__wrap03__.cpp:15149: error: too many initializers for ‘PyTypeObject’ And the line it's complaining about is now: 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 > >), t_RankIterator__fields_, 0, 0); > >> Where does t_JArray get defined? I can't find it. Still can't find it. Bill