efl/src/lib/ecore
Marcel Hollerbach 37d2d378ec eolian: drop class function overriding
Until this commit eo did class functions as part of the vtable, which
enabled those functions to be overwritten in classes inheriting another
class. However in task T7675 we decided that this is not really good for
bindings, as most OOP languages do not support this sort of feature.

After this commit eolian realizes class function completly outside of
the vtable, the c-symbol that is the class funciton is now just directly
redirecting to a implementation, without the involvement of the vtable.

This also means a change to the syntax created by eo:

Calling before:
  class_function(CLASS_A);
Calling after:
   class_function();

Implementation before:
   class_function(const Eo *obj, void *pd) { ... }
Implementation after:
   class_function(void) { ... }

This fixes T7675.

Co-authored-by: lauromauro <lauromoura@expertisesolutions.com.br>

Reviewed-by: Daniel Kolesa <daniel@octaforge.org>
Differential Revision: https://phab.enlightenment.org/D7901
2019-02-13 16:59:58 +01:00
..
Ecore.h all: Simplify definition of EAPI 2018-01-18 18:04:03 +09:00
Ecore_Common.h Revert this as it should not have been pushed yet 2019-02-13 10:01:22 -05:00
Ecore_Eo.h Revert "Revert command line array object because it's broken by design" 2019-02-12 21:42:33 +01:00
Ecore_Getopt.h all: Simplify definition of EAPI 2018-01-18 18:04:03 +09:00
Ecore_Legacy.h doc: remove since_tizen. 2018-12-06 14:41:51 +09:00
Efl_Core.h all: Simplify definition of EAPI 2018-01-18 18:04:03 +09:00
ecore.c ecore: call eina_debug_fork_reset() in fork reset function 2018-06-19 13:55:36 -04:00
ecore_alloc.c
ecore_anim.c ecore: remove duplicated conditions 2018-10-26 19:25:09 +09:00
ecore_app.c efl: remove _MSC_VER (Visual Studio macro) usage in source code 2018-01-04 12:59:47 -08:00
ecore_event_message.c eolian gen: enable constness generation on property getter impls 2018-04-17 20:31:55 +02:00
ecore_event_message.eo efl: convert all classes to the new eolian syntax 2019-01-18 16:31:26 +01:00
ecore_event_message_handler.c eolian: drop class function overriding 2019-02-13 16:59:58 +01:00
ecore_event_message_handler.eo efl: convert all classes to the new eolian syntax 2019-01-18 16:31:26 +01:00
ecore_events.c eolian: drop class function overriding 2019-02-13 16:59:58 +01:00
ecore_exe.c eolian gen: enable constness generation on property getter impls 2018-04-17 20:31:55 +02:00
ecore_exe.eo efl: convert all classes to the new eolian syntax 2019-01-18 16:31:26 +01:00
ecore_exe_posix.c Remove all ocurrences of SPANK from our user facing errors. 2017-12-22 11:18:46 +00:00
ecore_exe_private.h
ecore_exe_ps3.c
ecore_exe_win32.c
ecore_getopt.c
ecore_glib.c ecore/glib: add #ifdef guards for newly added includes 2018-06-22 15:26:44 -04:00
ecore_idle_enterer.c Revert "cxx: Fix manual code after efl_app change." 2018-03-03 13:40:33 +09:00
ecore_idle_exiter.c ecore/efl loop - refactor idle stuff to be less convluted when 2017-12-21 19:45:21 +09:00
ecore_idler.c Revert "cxx: Fix manual code after efl_app change." 2018-03-03 13:40:33 +09:00
ecore_internal.h ecore: efl_model_list_value_get will throw error when asked for out of range value. 2018-05-01 10:39:01 -07:00
ecore_job.c ecore: remove duplicated conditions 2018-10-26 19:25:09 +09:00
ecore_main.c Revert this as it should not have been pushed yet 2019-02-13 10:01:22 -05:00
ecore_main_common.h
ecore_main_timechanges.c eocre timechanges - set obj to null before deletion on stop 2018-01-05 02:34:16 +09:00
ecore_pipe.c ecore_pipe: remove null check condition and fix segfualt on Windows 2018-08-17 12:42:35 -04:00
ecore_poller.c ecore: remove duplicated conditions 2018-10-26 19:25:09 +09:00
ecore_private.h Revert this as it should not have been pushed yet 2019-02-13 10:01:22 -05:00
ecore_signal.c ecore: check fcntl return. 2019-01-29 19:30:45 +09:00
ecore_thread.c ecore thread - fix warn - callback prototypes to match correct type 2018-11-09 11:43:59 +00:00
ecore_throttle.c
ecore_time.c ecore/efl loop - use efl_loop_time_get on loop obj where needed 2017-12-27 01:40:07 +09:00
ecore_timer.c efl/timer: correctly handle timer freeze during construction 2018-08-27 12:09:49 +09:00
efl_accelerate_interpolator.c efl_interpolator: rename subclasses of Efl.Interpolator 2018-11-23 21:44:34 +09:00
efl_accelerate_interpolator.eo efl: convert all classes to the new eolian syntax 2019-01-18 16:31:26 +01:00
efl_app.c eolian: drop class function overriding 2019-02-13 16:59:58 +01:00
efl_app.eo Revert "Revert command line array object because it's broken by design" 2019-02-12 21:42:33 +01:00
efl_appthread.c eolian gen: enable constness generation on property getter impls 2018-04-17 20:31:55 +02:00
efl_appthread.eo Revert "Revert command line array object because it's broken by design" 2019-02-12 21:42:33 +01:00
efl_boolean_model.c efl_model : rename all efl_model based classes. 2019-01-31 14:59:37 +09:00
efl_boolean_model.eo efl_model : rename all efl_model based classes. 2019-01-31 14:59:37 +09:00
efl_bounce_interpolator.c efl_interpolator: rename subclasses of Efl.Interpolator 2018-11-23 21:44:34 +09:00
efl_bounce_interpolator.eo efl: convert all classes to the new eolian syntax 2019-01-18 16:31:26 +01:00
efl_composite_model.c efl_model : rename all efl_model based classes. 2019-01-31 14:59:37 +09:00
efl_composite_model.eo efl: Change non required constructors to @optional. 2019-02-07 18:05:00 +01:00
efl_composite_model_private.h efl_model : rename all efl_model based classes. 2019-01-31 14:59:37 +09:00
efl_container_model.c efl_model : rename all efl_model based classes. 2019-01-31 14:59:37 +09:00
efl_container_model.eo efl_model : rename all efl_model based classes. 2019-01-31 14:59:37 +09:00
efl_container_model_item.c efl_model : rename all efl_model based classes. 2019-01-31 14:59:37 +09:00
efl_container_model_item.eo efl_model : rename all efl_model based classes. 2019-01-31 14:59:37 +09:00
efl_container_model_private.h efl_model : rename all efl_model based classes. 2019-01-31 14:59:37 +09:00
efl_core_command_line.c Revert "Revert command line array object because it's broken by design" 2019-02-12 21:42:33 +01:00
efl_core_command_line.eo Revert "Revert command line array object because it's broken by design" 2019-02-12 21:42:33 +01:00
efl_core_env.c Revert "Revert the env object because it's broken portability - please redo" 2019-02-12 21:34:27 +01:00
efl_core_env.eo Revert "Revert the env object because it's broken portability - please redo" 2019-02-12 21:34:27 +01:00
efl_core_proc_env.c eolian: drop class function overriding 2019-02-13 16:59:58 +01:00
efl_core_proc_env.eo Revert "Revert the env object because it's broken portability - please redo" 2019-02-12 21:34:27 +01:00
efl_cubic_bezier_interpolator.c efl_interpolator: rename subclasses of Efl.Interpolator 2018-11-23 21:44:34 +09:00
efl_cubic_bezier_interpolator.eo efl: convert all classes to the new eolian syntax 2019-01-18 16:31:26 +01:00
efl_decelerate_interpolator.c efl_interpolator: rename subclasses of Efl.Interpolator 2018-11-23 21:44:34 +09:00
efl_decelerate_interpolator.eo efl: convert all classes to the new eolian syntax 2019-01-18 16:31:26 +01:00
efl_divisor_interpolator.c efl_interpolator: rename subclasses of Efl.Interpolator 2018-11-23 21:44:34 +09:00
efl_divisor_interpolator.eo efl: convert all classes to the new eolian syntax 2019-01-18 16:31:26 +01:00
efl_exe.c Revert "Revert command line array object because it's broken by design" 2019-02-12 21:42:33 +01:00
efl_exe.eo Revert "Revert command line array object because it's broken by design" 2019-02-12 21:42:33 +01:00
efl_general.h ecore - a different take on efl.app class as a super class to efl.loop 2018-03-03 13:40:33 +09:00
efl_generic_model.c efl_model : rename all efl_model based classes. 2019-01-31 14:59:37 +09:00
efl_generic_model.eo efl_model : rename all efl_model based classes. 2019-01-31 14:59:37 +09:00
efl_io_buffered_stream.c Make Efl.Ui.Closer an interface instead of mixin 2019-01-17 13:59:57 -05:00
efl_io_buffered_stream.eo efl: convert all classes to the new eolian syntax 2019-01-18 16:31:26 +01:00
efl_io_closer_fd.c ecore: move close_on_destructor to close_on_invalidate as that describe the behavior best. 2018-05-01 10:39:01 -07:00
efl_io_closer_fd.eo efl: refactor all mixins 2019-01-11 12:37:27 +01:00
efl_io_copier.c Make Efl.Ui.Closer an interface instead of mixin 2019-01-17 13:59:57 -05:00
efl_io_copier.eo efl: convert all classes to the new eolian syntax 2019-01-18 16:31:26 +01:00
efl_io_file.c ecore: move close_on_destructor to close_on_invalidate as that describe the behavior best. 2018-05-01 10:39:01 -07:00
efl_io_file.eo efl: convert all classes to the new eolian syntax 2019-01-18 16:31:26 +01:00
efl_io_positioner_fd.c eolian gen: enable constness generation on property getter impls 2018-04-17 20:31:55 +02:00
efl_io_positioner_fd.eo efl: convert all mixins to new eolian syntax 2019-01-18 16:31:28 +01:00
efl_io_reader_fd.c eolian gen: enable constness generation on property getter impls 2018-04-17 20:31:55 +02:00
efl_io_reader_fd.eo efl: convert all mixins to new eolian syntax 2019-01-18 16:31:28 +01:00
efl_io_sizer_fd.c eolian gen: enable constness generation on property getter impls 2018-04-17 20:31:55 +02:00
efl_io_sizer_fd.eo efl: convert all mixins to new eolian syntax 2019-01-18 16:31:28 +01:00
efl_io_stderr.c
efl_io_stderr.eo efl: convert all classes to the new eolian syntax 2019-01-18 16:31:26 +01:00
efl_io_stdin.c
efl_io_stdin.eo efl: convert all classes to the new eolian syntax 2019-01-18 16:31:26 +01:00
efl_io_stdout.c
efl_io_stdout.eo efl: convert all classes to the new eolian syntax 2019-01-18 16:31:26 +01:00
efl_io_writer_fd.c eolian gen: enable constness generation on property getter impls 2018-04-17 20:31:55 +02:00
efl_io_writer_fd.eo efl: convert all mixins to new eolian syntax 2019-01-18 16:31:28 +01:00
efl_linear_interpolator.c efl_interpolator: rename subclasses of Efl.Interpolator 2018-11-23 21:44:34 +09:00
efl_linear_interpolator.eo efl: convert all classes to the new eolian syntax 2019-01-18 16:31:26 +01:00
efl_loop.c eolian: drop class function overriding 2019-02-13 16:59:58 +01:00
efl_loop.eo Revert "Revert the env object because it's broken portability - please redo" 2019-02-12 21:34:27 +01:00
efl_loop_consumer.c ecore: remove data parameters of Efl.Loop_Consumer.promise_new to reduce the risk of inadvertently using the wrong data. 2019-01-16 14:33:26 -08:00
efl_loop_consumer.eo docs: Add links to Efl.Loop_Consumer 2019-01-30 16:16:37 +01:00
efl_loop_fd.c ecore: logically do the disconnection from the main loop API during invalidate. 2018-05-01 10:39:01 -07:00
efl_loop_fd.eo efl: convert all classes to the new eolian syntax 2019-01-18 16:31:26 +01:00
efl_loop_handler.c eolian gen: enable constness generation on property getter impls 2018-04-17 20:31:55 +02:00
efl_loop_handler.eo efl: convert all classes to the new eolian syntax 2019-01-18 16:31:26 +01:00
efl_loop_message.c
efl_loop_message.eo efl: convert all classes to the new eolian syntax 2019-01-18 16:31:26 +01:00
efl_loop_message_future.c eolian gen: enable constness generation on property getter impls 2018-04-17 20:31:55 +02:00
efl_loop_message_future.eo efl: convert all classes to the new eolian syntax 2019-01-18 16:31:26 +01:00
efl_loop_message_future_handler.c efl loop - make param as unused to remove warning 2018-01-02 15:11:06 +09:00
efl_loop_message_future_handler.eo efl: convert all classes to the new eolian syntax 2019-01-18 16:31:26 +01:00
efl_loop_message_handler.c remove elgacy ecore event usage in futures that limit to mainloop only 2017-12-28 02:24:12 +09:00
efl_loop_message_handler.eo efl: convert all classes to the new eolian syntax 2019-01-18 16:31:26 +01:00
efl_loop_model.c efl_model : rename all efl_model based classes. 2019-01-31 14:59:37 +09:00
efl_loop_model.eo efl_model : rename all efl_model based classes. 2019-01-31 14:59:37 +09:00
efl_loop_timer.eo Efl.Loop.Timer.interval is a constructor property 2019-01-19 18:04:14 +01:00
efl_model_accessor_view.c efl: replace efl_del with efl_unref for cases where no parent exists 2018-03-20 17:20:57 -07:00
efl_model_accessor_view_private.h
efl_select_model.c efl_model : rename all efl_model based classes. 2019-01-31 14:59:37 +09:00
efl_select_model.eo efl_model : rename all efl_model based classes. 2019-01-31 14:59:37 +09:00
efl_sinusoidal_interpolator.c efl_interpolator: rename subclasses of Efl.Interpolator 2018-11-23 21:44:34 +09:00
efl_sinusoidal_interpolator.eo efl: convert all classes to the new eolian syntax 2019-01-18 16:31:26 +01:00
efl_spring_interpolator.c efl_interpolator: rename subclasses of Efl.Interpolator 2018-11-23 21:44:34 +09:00
efl_spring_interpolator.eo efl: convert all classes to the new eolian syntax 2019-01-18 16:31:26 +01:00
efl_task.c Revert "Revert command line array object because it's broken by design" 2019-02-12 21:42:33 +01:00
efl_task.eo Revert "Revert command line array object because it's broken by design" 2019-02-12 21:42:33 +01:00
efl_thread.c Revert "Revert command line array object because it's broken by design" 2019-02-12 21:42:33 +01:00
efl_thread.eo Revert "Revert command line array object because it's broken by design" 2019-02-12 21:42:33 +01:00
efl_threadio.c eolian gen: enable constness generation on property getter impls 2018-04-17 20:31:55 +02:00
efl_threadio.eo eolian: second batch of unused import removals 2018-05-13 18:13:12 +02:00
efl_view_model.c efl_model : rename all efl_model based classes. 2019-01-31 14:59:37 +09:00
efl_view_model.eo efl: Change non required constructors to @optional. 2019-02-07 18:05:00 +01:00
meson.build Revert "Revert command line array object because it's broken by design" 2019-02-12 21:42:33 +01:00