[pygccxml-commit] SF.net SVN: pygccxml: [1082] pyplusplus_dev/pyplusplus/file_writers/ multiple_fil
Brought to you by:
mbaas,
roman_yakovenko
From: <rom...@us...> - 2007-06-26 05:35:54
|
Revision: 1082 http://svn.sourceforge.net/pygccxml/?rev=1082&view=rev Author: roman_yakovenko Date: 2007-06-25 22:31:20 -0700 (Mon, 25 Jun 2007) Log Message: ----------- small temporal patch to fix non-generated value traits header file Modified Paths: -------------- pyplusplus_dev/pyplusplus/file_writers/multiple_files.py Modified: pyplusplus_dev/pyplusplus/file_writers/multiple_files.py =================================================================== --- pyplusplus_dev/pyplusplus/file_writers/multiple_files.py 2007-06-24 05:55:32 UTC (rev 1081) +++ pyplusplus_dev/pyplusplus/file_writers/multiple_files.py 2007-06-26 05:31:20 UTC (rev 1082) @@ -46,7 +46,10 @@ self.__predefined_include_creators \ = filter( lambda creator: isinstance( creator, code_creators.include_t ) , self.extmodule.creators ) + self.__value_traits = filter( lambda x: isinstance(x, code_creators.value_traits_t) + , self.extmodule.creators ) + def write_file( self, fpath, content ): self.written_files.append( fpath ) writer.writer_t.write_file( fpath, content, self.files_sum_repository, self.encoding ) @@ -130,6 +133,16 @@ return None if not isinstance( code_creator.declaration.indexing_suite, decl_wrappers.indexing_suite2_t ): return None + + #sometimes, for some reason I expose containers as regular classes ( hash_map ) + #and in this case I do generate include to + classes = ( code_creators.indexing_suite1_t, code_creators.indexing_suite2_t ) + for cont_code_creator in code_creator.creators: + if isinstance( cont_code_creator, classes ): + break + else: + return None + try: element_type = code_creator.declaration.indexing_suite.element_type class_traits = declarations.class_traits @@ -365,9 +378,7 @@ self.extmodule.do_include_dirs_optimization() - value_traits_classes = filter( lambda x: isinstance(x, code_creators.value_traits_t ) - , self.extmodule.creators ) - map( self.split_value_traits, value_traits_classes ) + map( self.split_value_traits, self.__value_traits ) # Obtain a list of all class creators... class_creators = filter( lambda x: isinstance(x, ( code_creators.class_t, code_creators.class_declaration_t ) ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |