Revision: 432
Author: mbaas
Date: 2006-08-22 06:36:39 -0700 (Tue, 22 Aug 2006)
ViewCVS: http://svn.sourceforge.net/pygccxml/?rev=432&view=rev
Log Message:
-----------
Modified the __iter__() method so it does not iterate over the decls recursively anymore (which is done by iterContained()). The __str__ method now uses str(decl) instead of decl.name to provide more information.
Modified Paths:
--------------
pyplusplus_dev/contrib/pypp_api/pypp_api/declwrapper.py
Modified: pyplusplus_dev/contrib/pypp_api/pypp_api/declwrapper.py
===================================================================
--- pyplusplus_dev/contrib/pypp_api/pypp_api/declwrapper.py 2006-08-22 09:53:53 UTC (rev 431)
+++ pyplusplus_dev/contrib/pypp_api/pypp_api/declwrapper.py 2006-08-22 13:36:39 UTC (rev 432)
@@ -93,14 +93,23 @@
if len(self.decl_handles)==0:
return "Decl: <empty>"
elif len(self.decl_handles)==1:
- ds = getattr(self.decl_handles[0], "name", "?")
+# ds = getattr(self.decl_handles[0], "name", "?")
+ ds = str(self.decl_handles[0])
return 'Decl: "%s"'%(ds)
else:
return 'Decl: (%d declarations)'%(len(self.decl_handles))
def __iter__(self):
- return self.iterContained()
+ """Iterate over the matched declarations (non-recursively!).
+ The iterator yields IDecl objects that each contain one declaration.
+ The number of items is identical to self.decl_handles.
+ """
+ return iter(map(lambda decl: IDecl([decl], modulebuilder=self.modulebuilder), self.decl_handles))
+
+ def __len__(self):
+ return len(self.decl_handles)
+
# iterContained
def iterContained(self):
"""Iterate over all contained nodes.
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|