[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.
|