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

Reply via email to