[pygccxml-commit] SF.net SVN: pygccxml: [1172] pyplusplus_dev
Brought to you by:
mbaas,
roman_yakovenko
From: <rom...@us...> - 2007-11-24 20:14:24
|
Revision: 1172 http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1172&view=rev Author: roman_yakovenko Date: 2007-11-24 12:14:20 -0800 (Sat, 24 Nov 2007) Log Message: ----------- adding treatment to unnamed declarations Modified Paths: -------------- pyplusplus_dev/pyplusplus/utils/__init__.py pyplusplus_dev/unittests/exposed_decls_db_tester.py Modified: pyplusplus_dev/pyplusplus/utils/__init__.py =================================================================== --- pyplusplus_dev/pyplusplus/utils/__init__.py 2007-11-22 21:56:26 UTC (rev 1171) +++ pyplusplus_dev/pyplusplus/utils/__init__.py 2007-11-24 20:14:20 UTC (rev 1172) @@ -74,8 +74,14 @@ def find_out_normalized_name( self, decl ): if decl.name: return decl.name - else:#unnamed enums, classes, unions + elif decl.location:#unnamed enums, classes, unions return str( decl.location.as_tuple() ) + elif isinstance( decl, declarations.namespace_t ): + return '' #I don't really care about unnamed namespaces + elif isinstance( decl, declarations.enumeration_t ): + return str( decl.values ) + else: #it could be unname struct\class but location should exist + raise RuntimeError( "Unable to create normalized name for declaration: " + str(decl)) def __init_from_str( self, row ): self.exposed_sign, self.key, self.normalized_name, self.signature \ Modified: pyplusplus_dev/unittests/exposed_decls_db_tester.py =================================================================== --- pyplusplus_dev/unittests/exposed_decls_db_tester.py 2007-11-22 21:56:26 UTC (rev 1171) +++ pyplusplus_dev/unittests/exposed_decls_db_tester.py 2007-11-24 20:14:20 UTC (rev 1172) @@ -37,6 +37,20 @@ int fff(); int i; } + + struct yyy{ + struct{ int i;}; + }; + + struct zzz{ + union{ + int x; float y; + }; + }; + + namespace{ + int xxxx; + } """ def __init__(self, *args ): unittest.TestCase.__init__(self, *args) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |