[pygccxml-commit] SF.net SVN: pygccxml: [1301] pyplusplus_dev/pyplusplus
Brought to you by:
mbaas,
roman_yakovenko
|
From: <rom...@us...> - 2008-04-07 21:41:43
|
Revision: 1301
http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1301&view=rev
Author: roman_yakovenko
Date: 2008-04-07 14:41:50 -0700 (Mon, 07 Apr 2008)
Log Message:
-----------
bug fix: don't create _xxx_value_traits.pypp.hpp file ( and class ) if the class has both "=" and "<" available operators
Modified Paths:
--------------
pyplusplus_dev/pyplusplus/file_writers/multiple_files.py
pyplusplus_dev/pyplusplus/module_creator/creator.py
Modified: pyplusplus_dev/pyplusplus/file_writers/multiple_files.py
===================================================================
--- pyplusplus_dev/pyplusplus/file_writers/multiple_files.py 2008-04-07 21:38:11 UTC (rev 1300)
+++ pyplusplus_dev/pyplusplus/file_writers/multiple_files.py 2008-04-07 21:41:50 UTC (rev 1301)
@@ -149,6 +149,9 @@
if not class_traits.is_my_case( element_type ):
return None
value_class = class_traits.get_declaration( element_type )
+ if value_class.less_than_comparable and value_class.equality_comparable:
+ return None #Py++ doesn't create value traits for class that has
+ # = and < operators available
return self.create_value_traits_header_name( value_class )
except RuntimeError, error:
decls_logger = _logging_.loggers.declarations
Modified: pyplusplus_dev/pyplusplus/module_creator/creator.py
===================================================================
--- pyplusplus_dev/pyplusplus/module_creator/creator.py 2008-04-07 21:38:11 UTC (rev 1300)
+++ pyplusplus_dev/pyplusplus/module_creator/creator.py 2008-04-07 21:41:50 UTC (rev 1301)
@@ -305,7 +305,9 @@
class_traits = declarations.class_traits
if not ( None is element_type ) and class_traits.is_my_case( element_type ):
value_cls = class_traits.get_declaration( element_type )
- if value_cls not in created_value_traits:
+ has_prerequisits = value_cls.less_than_comparable \
+ and value_cls.equality_comparable
+ if ( not has_prerequisits ) and ( value_cls not in created_value_traits ):
created_value_traits.add( value_cls )
element_type_cc = code_creators.value_traits_t( value_cls )
self.__extmodule.adopt_declaration_creator( element_type_cc )
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|