[pygccxml-commit] source/pyplusplus/module_creator creator.py,1.58,1.59
Brought to you by:
mbaas,
roman_yakovenko
From: Roman <rom...@us...> - 2006-03-05 05:51:34
|
Update of /cvsroot/pygccxml/source/pyplusplus/module_creator In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19454/pyplusplus/module_creator Modified Files: creator.py Log Message: operator[] is now supported Index: creator.py =================================================================== RCS file: /cvsroot/pygccxml/source/pyplusplus/module_creator/creator.py,v retrieving revision 1.58 retrieving revision 1.59 diff -C2 -d -r1.58 -r1.59 *** creator.py 28 Feb 2006 07:31:33 -0000 1.58 --- creator.py 5 Mar 2006 05:51:30 -0000 1.59 *************** *** 119,127 **** return True if isinstance( declaration, declarations.member_operator_t ) \ ! and declaration.symbol == '()': return True if not code_creators.operator_t.supported.is_supported( declaration ): #see http://www.boost.org/libs/python/doc/v2/operators.html#introduction return False return True --- 119,130 ---- return True if isinstance( declaration, declarations.member_operator_t ) \ ! and declaration.symbol in ( '()', '[]' ): return True if not code_creators.operator_t.supported.is_supported( declaration ): #see http://www.boost.org/libs/python/doc/v2/operators.html#introduction return False + if isinstance( declaration, declarations.constructor_t ) \ + and declaration.is_artificial: + return False return True *************** *** 152,161 **** or decl.access_type == declarations.ACCESS_TYPES.PUBLIC , members ) ! if declarations.has_destructor( class_decl ) \ ! and not declarations.has_public_destructor( class_decl ): #remove artificial constructors ! members = filter( lambda decl: not isinstance( decl, declarations.constructor_t ) ! or not decl.is_artificial ! , members ) members = filter( lambda member: not member.ignore, members ) ordered_members = self._reorder_decls( members ) --- 155,164 ---- or decl.access_type == declarations.ACCESS_TYPES.PUBLIC , members ) ! #-#if declarations.has_destructor( class_decl ) \ ! #-# and not declarations.has_public_destructor( class_decl ): #remove artificial constructors ! members = filter( lambda decl: not isinstance( decl, declarations.constructor_t ) ! or not decl.is_artificial ! , members ) members = filter( lambda member: not member.ignore, members ) ordered_members = self._reorder_decls( members ) *************** *** 382,386 **** return ! if self.__curr_decl.symbol == '()': self.visit_member_function() else: --- 385,389 ---- return ! if self.__curr_decl.symbol in ( '()', '[]' ): self.visit_member_function() else: *************** *** 453,458 **** #I don't know but sometimes boost.python requieres #to construct wrapper from wrapped classe ! scons = code_creators.special_constructor_wrapper_t( class_inst=self.__curr_decl ) ! wrapper.adopt_creator( scons ) trivial_constr = declarations.find_trivial_constructor(self.__curr_decl) if trivial_constr and trivial_constr.is_artificial: --- 456,462 ---- #I don't know but sometimes boost.python requieres #to construct wrapper from wrapped classe ! if not declarations.is_noncopyable( self.__curr_decl ): ! scons = code_creators.special_constructor_wrapper_t( class_inst=self.__curr_decl ) ! wrapper.adopt_creator( scons ) trivial_constr = declarations.find_trivial_constructor(self.__curr_decl) if trivial_constr and trivial_constr.is_artificial: |