[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.
|