efl/src/bin
Lauro Moura 9603cc07eb efl-mono: Fix call of virtual methods after new API
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
2018-12-14 20:47:46 -02:00
..
ecore_buffer here comes meson 2018-10-02 17:22:50 +02:00
ecore_con here comes meson 2018-10-02 17:22:50 +02:00
ecore_evas here comes meson 2018-10-02 17:22:50 +02:00
edje meson: enable cross compiling 2018-12-07 13:05:31 +01:00
eet meson: enable cross compiling 2018-12-07 13:05:31 +01:00
eeze eeze mount tool - warn - fix prototypes used for ecore events 2018-11-09 11:44:00 +00:00
efl here comes meson 2018-10-02 17:22:50 +02:00
efl_js efl-js: JavaScript Eolian binding 2015-12-23 23:59:40 -02:00
efl_mono_msbuild_gen efl_mono: Add msbuild file generator 2017-12-04 15:47:51 -03:00
efl_wl here comes meson 2018-10-02 17:22:50 +02:00
efreet efreet mime cache - expand buffer to avoid truncation by snprintf 2018-11-09 12:18:59 +00:00
eina eina - btlog - fix warnign about uninit struct field 2018-11-09 11:43:58 +00:00
eldbus here comes meson 2018-10-02 17:22:50 +02:00
elementary meson: add inital support for windows compilation 2018-12-07 13:05:31 +01:00
elua here comes meson 2018-10-02 17:22:50 +02:00
embryo embryo_cc - warn - bigger buffer to avoid truncation warning 2018-11-09 11:44:00 +00:00
eolian meson: enable cross compiling 2018-12-07 13:05:31 +01:00
eolian_cxx eolian: implement new inherit behavior 2018-11-23 13:57:07 +01:00
eolian_js evas: remove render2 2018-08-21 10:36:55 -04:00
eolian_mono efl-mono: Fix call of virtual methods after new API 2018-12-14 20:47:46 -02:00
ethumb here comes meson 2018-10-02 17:22:50 +02:00
ethumb_client here comes meson 2018-10-02 17:22:50 +02:00