[pygccxml-commit] SF.net SVN: pygccxml: [517] pyplusplus_dev/pyplusplus
Brought to you by:
mbaas,
roman_yakovenko
From: <rom...@us...> - 2006-09-04 07:03:26
|
Revision: 517 http://svn.sourceforge.net/pygccxml/?rev=517&view=rev Author: roman_yakovenko Date: 2006-09-04 00:03:18 -0700 (Mon, 04 Sep 2006) Log Message: ----------- splittingsmall refactoring before introducing "function transformation" functionality Modified Paths: -------------- pyplusplus_dev/pyplusplus/code_creators/__init__.py pyplusplus_dev/pyplusplus/decl_wrappers/calldef_wrapper.py Modified: pyplusplus_dev/pyplusplus/code_creators/__init__.py =================================================================== --- pyplusplus_dev/pyplusplus/code_creators/__init__.py 2006-09-04 06:49:35 UTC (rev 516) +++ pyplusplus_dev/pyplusplus/code_creators/__init__.py 2006-09-04 07:03:18 UTC (rev 517) @@ -137,9 +137,13 @@ fwrapper_cls = mem_fun_pv_wrapper_t maker_cls = mem_fun_pv_t else: - if decl.overridable: - fwrapper_cls = mem_fun_v_wrapper_t - maker_cls = mem_fun_v_t + if decl.function_transformers: + fwrapper_cls = mem_fun_v_transformed_wrapper_t + maker_cls = mem_fun_v_transformed_t + else: + if decl.overridable: + fwrapper_cls = mem_fun_v_wrapper_t + maker_cls = mem_fun_v_t elif access_level == ACCESS_TYPES.PROTECTED: if decl.virtuality == VIRTUALITY_TYPES.NOT_VIRTUAL: if decl.has_static: Modified: pyplusplus_dev/pyplusplus/decl_wrappers/calldef_wrapper.py =================================================================== --- pyplusplus_dev/pyplusplus/decl_wrappers/calldef_wrapper.py 2006-09-04 06:49:35 UTC (rev 516) +++ pyplusplus_dev/pyplusplus/decl_wrappers/calldef_wrapper.py 2006-09-04 07:03:18 UTC (rev 517) @@ -28,7 +28,7 @@ self._use_default_arguments = True self._create_with_signature = False self._overridable = None - self._function_transformers = [] + self._function_transformers = None def get_call_policies(self): return self._call_policies @@ -121,12 +121,16 @@ Returns a reference to the internal list (which may be modified). """ + if None is self._function_transformers: + #TODO: for trivial cases get_size( int&, int& ) Py++ should guess + #function transformers + self._function_transformers = [] return self._function_transformers - + def _set_function_transformers(self, function_transformers): """Set method for property 'function_transformers'.""" self._function_transformers = function_transformers - + function_transformers = property( _get_function_transformers, _set_function_transformers, doc = """A list of function transformer objects that should be applied to the generated C++ code (default: []). The returned list is the internal list (not a copy) which may be modified. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |