Revision: 264
Author: roman_yakovenko
Date: 2006-06-29 04:16:59 -0700 (Thu, 29 Jun 2006)
ViewCVS: http://svn.sourceforge.net/pygccxml/?rev=264&view=rev
Log Message:
-----------
fixing bugs
Modified Paths:
--------------
pyplusplus_dev/pyplusplus/code_creators/class_declaration.py
pyplusplus_dev/pyplusplus/file_writers/multiple_files.py
pyplusplus_dev/pyplusplus/module_creator/types_database.py
Modified: pyplusplus_dev/pyplusplus/code_creators/class_declaration.py
===================================================================
--- pyplusplus_dev/pyplusplus/code_creators/class_declaration.py 2006-06-29 09:09:33 UTC (rev 263)
+++ pyplusplus_dev/pyplusplus/code_creators/class_declaration.py 2006-06-29 11:16:59 UTC (rev 264)
@@ -55,9 +55,7 @@
result[-1] = result[-1] + ' ' + scope_var_name
result[-1] = result[-1] + '( %s );' % self.class_var_name
- for x in creators:
- if x is used_init:
- continue
+ for x in self.creators:
if not x.works_on_instance:
result.append( x.create() )
else:
Modified: pyplusplus_dev/pyplusplus/file_writers/multiple_files.py
===================================================================
--- pyplusplus_dev/pyplusplus/file_writers/multiple_files.py 2006-06-29 09:09:33 UTC (rev 263)
+++ pyplusplus_dev/pyplusplus/file_writers/multiple_files.py 2006-06-29 11:16:59 UTC (rev 264)
@@ -202,9 +202,9 @@
Write the value_traits class to header file, that will be included
from files, that uses indexing suite 2
"""
- code = value_traits.create()
- self.create_header( self.create_value_traits_header_name( value_traits.declaration )
- , code )
+ header_name = self.create_value_traits_header_name( value_traits.declaration )
+ file_path = os.path.join( self.directory_path, header_name )
+ self.write_file( file_path, self.create_header( header_name, value_traits.create() ) )
value_traits.create = lambda: ''
def split_creators( self, creators, pattern, function_name, registrator_pos ):
@@ -280,7 +280,8 @@
value_traits_classes = filter( lambda x: isinstance(x, code_creators.value_traits_t )
, self.extmodule.creators )
-
+ map( self.split_value_traits, value_traits_classes )
+
# Obtain a list of all class creators...
class_creators = filter( lambda x: isinstance(x, ( code_creators.class_t, code_creators.class_declaration_t ) )
, self.extmodule.body.creators )
Modified: pyplusplus_dev/pyplusplus/module_creator/types_database.py
===================================================================
--- pyplusplus_dev/pyplusplus/module_creator/types_database.py 2006-06-29 09:09:33 UTC (rev 263)
+++ pyplusplus_dev/pyplusplus/module_creator/types_database.py 2006-06-29 11:16:59 UTC (rev 264)
@@ -56,11 +56,17 @@
type = declarations.remove_reference( type )
type = declarations.remove_cv( type )
type = declarations.remove_declarated( type )
-
- if not declarations.is_class( type ) and not declarations.is_class_declaration( type ):
+
+ class_traits = declarations.class_traits
+ class_declaration_traits = declarations.class_declaration_traits
+ if not class_traits.is_my_case( type ) and not class_declaration_traits.is_my_case( type ):
return False
-
- container_cls = type
+
+ if class_traits.is_my_case( type ):
+ container_cls = class_traits.get_declaration( type )
+ else:
+ container_cls = class_declaration_traits.get_declaration( type )
+
if None is container_cls.indexing_suite:
return False
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|