[pygccxml-commit] SF.net SVN: pygccxml: [663] pyplusplus_dev/pyplusplus
Brought to you by:
mbaas,
roman_yakovenko
From: <mb...@us...> - 2006-10-16 17:15:02
|
Revision: 663 http://svn.sourceforge.net/pygccxml/?rev=663&view=rev Author: mbaas Date: 2006-10-16 10:14:55 -0700 (Mon, 16 Oct 2006) Log Message: ----------- Fixed the handling of requested include files and made the function transformers request the convenience header (instead of the code creator). Modified Paths: -------------- pyplusplus_dev/pyplusplus/code_creators/calldef_transformed.py pyplusplus_dev/pyplusplus/function_transformers/arg_policies.py Modified: pyplusplus_dev/pyplusplus/code_creators/calldef_transformed.py =================================================================== --- pyplusplus_dev/pyplusplus/code_creators/calldef_transformed.py 2006-10-16 09:44:27 UTC (rev 662) +++ pyplusplus_dev/pyplusplus/code_creators/calldef_transformed.py 2006-10-16 17:14:55 UTC (rev 663) @@ -67,6 +67,7 @@ # Create the substitution manager sm = function_transformers.substitution_manager_t(function, transformers=function.function_transformers) + sm.init_funcs() self._subst_manager = sm # def is_free_function(self): @@ -169,6 +170,13 @@ answer.append( '}' ) return os.linesep.join( answer ) + def get_required_headers(self): + """Return a list of required header file names.""" + res = [] + res += self._subst_manager.virtual_func.get_required_headers() + res += self._subst_manager.wrapper_func.get_required_headers() + return res + def _create_impl(self): answer = self.create_function() @@ -244,6 +252,7 @@ # Create the substitution manager sm = function_transformers.substitution_manager_t(function, transformers=function.function_transformers) + sm.init_funcs() self._subst_manager = sm # Stores the name of the variable that holds the override @@ -501,7 +510,7 @@ def get_required_headers(self): """Return a list of required header file names.""" - res = [code_repository.gil_guard.file_name, code_repository.convenience.file_name ] + res = [code_repository.gil_guard.file_name] res += self._subst_manager.virtual_func.get_required_headers() res += self._subst_manager.wrapper_func.get_required_headers() return res Modified: pyplusplus_dev/pyplusplus/function_transformers/arg_policies.py =================================================================== --- pyplusplus_dev/pyplusplus/function_transformers/arg_policies.py 2006-10-16 09:44:27 UTC (rev 662) +++ pyplusplus_dev/pyplusplus/function_transformers/arg_policies.py 2006-10-16 17:14:55 UTC (rev 663) @@ -17,6 +17,7 @@ """ import os from pygccxml import declarations +from pyplusplus import code_repository # output_t class output_t: @@ -236,6 +237,9 @@ # Replace the input parameter with the C array sm.wrapper_func.input_params[self.idx-1] = self.carray + # Request the convenience header + sm.wrapper_func.require_header(code_repository.convenience.file_name) + def wrapper_pre_call(self, sm): """Wrapper function code. """ @@ -327,6 +331,10 @@ # Declare an int which is used for the loop self.virtual_ivar = sm.virtual_func.declare_local("i", "int", default=0) + # Request the convenience header + sm.virtual_func.require_header(code_repository.convenience.file_name) + + def wrapper_post_call(self, sm): res = "" res += "// Copy the sequence '%s' into '%s'...\n"%(self.wrapper_cval, self.wrapper_pyval) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |