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

Reply via email to