forked from enlightenment/efl
9603cc07eb
Summary: After the new API, the virtual wrapper classes (*NativeInherit) just declared the wrappers for the current class. But as they didn't have any inheritance information, reimplementing methods from a parent Eo class wouldn't work. (e.g. Efl.Ui.Button reimplementing Efl.Object FinalizeAdd). This commit changes these NativeInherit classes to mimic the inheritance chain of their regular/abstract counterparts, reusing the virtual wrapper implementations. In order to access the correct Eo class created, the methods on it were changed from static to instance methods. The instance will be held as a class member of the regular/abstract API class to keep the delegates alive and allow getting C Function pointers from them. The class_initializer method was also split in two. The method collecting the wrapper delegates was extracted in order to call the parent ones. Also avoid exception in cached strings queries as TryGetValue requires non-null keys. Test Plan: Run test suite. Reviewers: vitor.sousa, felipealmeida Reviewed By: vitor.sousa Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D7460 |
||
---|---|---|
.. | ||
ecore_buffer | ||
ecore_con | ||
ecore_evas | ||
edje | ||
eet | ||
eeze | ||
efl | ||
efl_js | ||
efl_mono_msbuild_gen | ||
efl_wl | ||
efreet | ||
eina | ||
eldbus | ||
elementary | ||
elua | ||
embryo | ||
eolian | ||
eolian_cxx | ||
eolian_js | ||
eolian_mono | ||
ethumb | ||
ethumb_client |