From: <rom...@us...> - 2008-03-15 19:46:30
|
Revision: 1281 http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1281&view=rev Author: roman_yakovenko Date: 2008-03-15 12:46:34 -0700 (Sat, 15 Mar 2008) Log Message: ----------- Modified Paths: -------------- pygccxml_dev/pygccxml/msvc/pdb/loader.py Modified: pygccxml_dev/pygccxml/msvc/pdb/loader.py =================================================================== --- pygccxml_dev/pygccxml/msvc/pdb/loader.py 2008-03-15 19:18:36 UTC (rev 1280) +++ pygccxml_dev/pygccxml/msvc/pdb/loader.py 2008-03-15 19:46:34 UTC (rev 1281) @@ -79,7 +79,8 @@ def ns_filter( smbl ): tags = ( msdia.SymTagFunction , msdia.SymTagBlock - , msdia.SymTagData + #I should skipp data, because it requier different treatment + #, msdia.SymTagData , msdia.SymTagAnnotation , msdia.SymTagPublicSymbol , msdia.SymTagUDT @@ -100,8 +101,12 @@ elif smbl.classParent: if smbl.classParent.name: return False - elif smbl.classParent.symTag == msdia.SymTagUDT: - return False + parent_smbl = smbl.classParent + while parent_smbl: + if parent_smbl.symTag == msdia.SymTagUDT: + return False + else: + parent_smbl = parent_smbl.classParent elif smbl.name.endswith( '__unnamed' ): return False return True @@ -113,6 +118,8 @@ for index, smbl in enumerate( itertools.ifilter( ns_filter, self.symbols.itervalues() ) ): if index and ( index % 10000 == 0 ): self.logger.debug( '%d symbols scanned', index ) + if '_Facetptr<std::ctype<char> >' in smbl.name: + i = 0 name_splitter = impl_details.get_name_splitter( smbl.name ) names.update( name_splitter.scope_names ) names = list( names ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |