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