[pygccxml-development] Recent changes
Brought to you by:
mbaas,
roman_yakovenko
From: Roman Y. <rom...@gm...> - 2006-05-02 05:39:58
|
Hi. Last week I work on re-factoring. Code that deal with exposing functions and operators was not as good, as I want. It means, that it was very difficult to read and understand it. So I fix it. There are few nice side effects and one not= so. 1. module_creator.creator_t class is now simpler that it was. 2. decl_wrapper_t class has new functionality: exportable - boolean property, that tells user whether this declaration can be exported to Python or not why_not_exportable - function, that will explain the reason why the declaration can not be exported. Sometimes link to the relevant piece of documentation will be provided. 3. function_t and function_wrapper_t code creators are deleted. 4. There are new code creators: free_function_t mem_fun_t mem_fun_pv_t mem_fun_pv_wrapper_t mem_fun_v_t mem_fun_v_wrapper_t mem_fun_protected_t mem_fun_protected_wrapper_t mem_fun_protected_s_t mem_fun_protected_s_wrapper_t mem_fun_protected_v_t mem_fun_protected_v_wrapper_t mem_fun_protected_pv_t mem_fun_protected_pv_wrapper_t mem_fun_private_v_wrapper_t mem_fun_private_pv_wrapper_t This approach is much better. 5. New bugs! Please test py++. 6. I did some changes to allow easy configuration of pygccxml/py++ unittest= s. For pygccxml, please take a look on pygccxml_dev/unittests/autoconfig.p= y. For py++, please take a look on pyplusplus_dev/environment.py 7. decl_wrappers.calldef_t has new functionality - overridable ( better name is needed ) Not all virtual functions could be redefined in Python. Functions that returns reference to some object in 99% cases will return reference to local variable, just causing access violation. In case of pure virtual functions, py++ must redefine those functions. In run time user will get nice error with explanation, why he can not redefine the function. -- Roman Yakovenko C++ Python language binding http://www.language-binding.net/ |