On Sun, Jun 29, 2008 at 11:57 PM, Gustavo Carneiro <gjc...@gm...> wrote:
> What I did was the obvious thing. Removed the remove_alias call, and it now
> works perfectly for me :-)
>
> I honestly don't understand why remove_alias is needed here :-/
typedef const XYZ CXYZ;
remove_const( CXYZ )
will not work in such case and obviously you have to take into account
few levels of "typedef"'s
>
> Index: pygccxml/declarations/type_traits.py
> ===================================================================
> --- pygccxml/declarations/type_traits.py (revision 1362)
> +++ pygccxml/declarations/type_traits.py (working copy)
> @@ -171,7 +171,8 @@
>
> If type is not pointer type, it will be returned as is.
> """
> - nake_type = remove_alias( type )
> + #nake_type = remove_alias( type )
> + nake_type = type
> if not is_pointer( nake_type ):
> return type
> elif isinstance( nake_type, cpptypes.volatile_t ) and isinstance(
> nake_type.base, cpptypes.pointer_t ):
> @@ -219,7 +220,8 @@
>
> If type is not reference type, it will be returned as is.
> """
> - nake_type = remove_alias( type )
> + #nake_type = remove_alias( type )
> + nake_type = type
> if not is_reference( nake_type ):
> return type
> else:
> @@ -236,7 +238,8 @@
> If type is not const type, it will be returned as is
> """
>
> - nake_type = remove_alias( type )
> + #nake_type = remove_alias( type )
> + nake_type = type
> if not is_const( nake_type ):
> return type
> else:
>
>
>>
>> --
>> Roman Yakovenko
>> C++ Python language binding
>> http://www.language-binding.net/
>
>
>
> --
> Gustavo J. A. M. Carneiro
> INESC Porto, Telecommunications and Multimedia Unit
> "The universe is always one step beyond logic." -- Frank Herbert
--
Roman Yakovenko
C++ Python language binding
http://www.language-binding.net/
|