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