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