Boost C++ Libraries: Ticket #3362: PySte crashes with TypeError https://svn.boost.org/trac10/ticket/3362 <p> Certain C++ declarations can create unnamed classes, which cause GCCXML output to omit the name field. This in turn will trigger the following nasty exception (only the last part of the long traceback is shown): </p> <pre class="wiki"> File "C:\Python26\lib\site-packages\Pyste\GCCXMLParser.py", line 350, in ParsePointerType type = self.GetType(element.get('type')) File "C:\Python26\lib\site-packages\Pyste\GCCXMLParser.py", line 126, in GetType decl = self.GetDecl(id) File "C:\Python26\lib\site-packages\Pyste\GCCXMLParser.py", line 108, in GetDecl self.ParseElement(id, elem) File "C:\Python26\lib\site-packages\Pyste\GCCXMLParser.py", line 70, in ParseElement func(id, element) File "C:\Python26\lib\site-packages\Pyste\GCCXMLParser.py", line 319, in ParseStruct self.ParseClass(id, element) File "C:\Python26\lib\site-packages\Pyste\GCCXMLParser.py", line 306, in ParseClass self.AddDecl(class_) File "C:\Python26\lib\site-packages\Pyste\GCCXMLParser.py", line 57, in AddDecl if decl.FullName() in self._names: File "C:\Python26\lib\site-packages\Pyste\declarations.py", line 49, in FullName return namespace + self.name TypeError: cannot concatenate 'str' and 'NoneType' objects </pre><p> The fix is quite simple: change </p> <pre class="wiki"> def ParseClass(self, id, element): name = element.get('name') </pre><p> to </p> <pre class="wiki"> def ParseClass(self, id, element): name = element.get('name', id) </pre><p> on line 290 of GCCXMLParser.py. </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/3362 Trac 1.4.3 jobnoorman@… Tue, 18 Feb 2014 14:13:48 GMT <link>https://svn.boost.org/trac10/ticket/3362#comment:1 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/3362#comment:1</guid> <description> <p> This problem still exists in current trunk (moved to line 295). Will this ever be fixed or is Pyste dead and should I look for an alternative? </p> </description> <category>Ticket</category> </item> </channel> </rss>