[pygccxml-commit] SF.net SVN: pygccxml: [343] pygccxml_dev/unittests/data
Brought to you by:
mbaas,
roman_yakovenko
From: <rom...@us...> - 2006-07-24 18:24:58
|
Revision: 343 Author: roman_yakovenko Date: 2006-07-24 11:24:45 -0700 (Mon, 24 Jul 2006) ViewCVS: http://svn.sourceforge.net/pygccxml/?rev=343&view=rev Log Message: ----------- fixing and improving write class to multiple files functionality Modified Paths: -------------- pygccxml_dev/unittests/data/core_cache.hpp pyplusplus_dev/pyplusplus/_logging_/__init__.py pyplusplus_dev/pyplusplus/file_writers/class_multiple_files.py pyplusplus_dev/pyplusplus/file_writers/multiple_files.py Modified: pygccxml_dev/unittests/data/core_cache.hpp =================================================================== --- pygccxml_dev/unittests/data/core_cache.hpp 2006-07-24 15:50:36 UTC (rev 342) +++ pygccxml_dev/unittests/data/core_cache.hpp 2006-07-24 18:24:45 UTC (rev 343) @@ -22,4 +22,4 @@ #endif//__core_cache_hpp__ -//touch//touch//touch//touch//touch \ No newline at end of file +//touch//touch//touch//touch//touch//touch \ No newline at end of file Modified: pyplusplus_dev/pyplusplus/_logging_/__init__.py =================================================================== --- pyplusplus_dev/pyplusplus/_logging_/__init__.py 2006-07-24 15:50:36 UTC (rev 342) +++ pyplusplus_dev/pyplusplus/_logging_/__init__.py 2006-07-24 18:24:45 UTC (rev 343) @@ -17,7 +17,6 @@ def _create_logger_( name ): logger = logging.getLogger(name) __handler = logging.StreamHandler(sys.stdout) -# __handler.setFormatter( logging.Formatter( os.linesep + '%(levelname)s %(message)s' ) ) __handler.setFormatter( multi_line_formatter_t( os.linesep + '%(levelname)s: %(message)s' ) ) logger.addHandler(__handler) logger.setLevel(logging.INFO) Modified: pyplusplus_dev/pyplusplus/file_writers/class_multiple_files.py =================================================================== --- pyplusplus_dev/pyplusplus/file_writers/class_multiple_files.py 2006-07-24 15:50:36 UTC (rev 342) +++ pyplusplus_dev/pyplusplus/file_writers/class_multiple_files.py 2006-07-24 18:24:45 UTC (rev 343) @@ -32,8 +32,9 @@ self.split_internal_enums , self.split_internal_unnamed_enums , self.split_internal_member_functions - , self.split_internal_classes - , self.split_internal_member_variables + , self.split_internal_classes + #not supported yet + #, self.split_internal_member_variables ] def split_class_impl( self, class_creator): @@ -109,16 +110,17 @@ header_code.append( '' ) header_code.append( function_decl + ';' ) self.write_file( file_path + self.HEADER_EXT - , self.create_header( pattern, os.linesep.join(header_code) ) ) + , self.create_header( class_creator.alias + '_' + pattern + , os.linesep.join(header_code) ) ) #writting source file source_code = [] if self.extmodule.license: source_code.append( self.extmodule.license.create() ) - - head_headers = [ file_path + self.HEADER_EXT ]#relevant header file - tail_headers = [ self.wrapper_header(class_creator) ] - source_code.append( self.create_include_code( creators, head_headers, tail_headers ) ) + + #relevant header file + head_headers = [ os.path.join( class_creator.alias, pattern + self.HEADER_EXT) ] + source_code.append( self.create_include_code( creators, head_headers ) ) source_code.append( '' ) source_code.append( self.create_namespaces_code( creators ) ) @@ -154,6 +156,8 @@ def split_internal_member_functions( self, class_creator ): creators = filter( lambda x: isinstance(x, code_creators.mem_fun_t ) , class_creator.creators ) + for creator in creators: + creator.works_on_instance = False self.split_internal_creators( class_creator, creators, 'memfuns' ) return 'memfuns' Modified: pyplusplus_dev/pyplusplus/file_writers/multiple_files.py =================================================================== --- pyplusplus_dev/pyplusplus/file_writers/multiple_files.py 2006-07-24 15:50:36 UTC (rev 342) +++ pyplusplus_dev/pyplusplus/file_writers/multiple_files.py 2006-07-24 18:24:45 UTC (rev 343) @@ -67,7 +67,7 @@ "#ifndef __%(file_name)s_hpp__pyplusplus_wrapper__" , "#define __%(file_name)s_hpp__pyplusplus_wrapper__" , '' - , "%(code)s;" + , "%(code)s" , '' , "#endif//__%(file_name)s_hpp__pyplusplus_wrapper__" ]) @@ -92,9 +92,11 @@ return self.create_value_traits_header_name( value_class ) def create_include_code( self, creators, head_headers=None, tail_headers=None ): - answer = [] + answer = [] + normalize = code_creators.include_directories_t.normalize if head_headers: - answer.extend( map( lambda header: '#include "%s"' % header, head_headers ) ) + answer.extend( map( lambda header: '#include "%s"' % normalize( header ) + , head_headers ) ) # Include all 'global' include files... includes = filter( lambda creator: isinstance( creator, code_creators.include_t ) @@ -107,7 +109,8 @@ answer.append( '#include "%s"' % header ) if tail_headers: - answer.extend( map( lambda header: '#include "%s"' % header, tail_headers ) ) + answer.extend( map( lambda header: '#include "%s"' % normalize( header ) + , tail_headers ) ) return os.linesep.join( answer ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |