q66 pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=fa3e433f6ea86988f2324119f1869eeacaa7dca5
commit fa3e433f6ea86988f2324119f1869eeacaa7dca5 Author: Daniel Kolesa <d.kol...@samsung.com> Date: Fri Jul 18 17:29:25 2014 +0100 eolian: disallow the data field in interfaces; it's always null --- src/lib/eolian/eo_parser.c | 5 +++++ src/lib/evas/canvas/evas_clickable_interface.eo | 1 - src/lib/evas/canvas/evas_common_interface.eo | 1 - src/lib/evas/canvas/evas_draggable_interface.eo | 1 - src/lib/evas/canvas/evas_scrollable_interface.eo | 1 - src/lib/evas/canvas/evas_selectable_interface.eo | 1 - src/lib/evas/canvas/evas_signal_interface.eo | 1 - src/lib/evas/canvas/evas_zoomable_interface.eo | 1 - 8 files changed, 5 insertions(+), 7 deletions(-) diff --git a/src/lib/eolian/eo_parser.c b/src/lib/eolian/eo_parser.c index 9ddcf25..d5bdc0c 100644 --- a/src/lib/eolian/eo_parser.c +++ b/src/lib/eolian/eo_parser.c @@ -939,6 +939,10 @@ parse_class_body(Eo_Lexer *ls, Eina_Bool allow_ctors, Eolian_Class_Type type) ls->tmp.kls->comment = eina_stringshare_ref(ls->t.value); eo_lexer_get(ls); } + if (type == EOLIAN_CLASS_INTERFACE) + { + ls->tmp.kls->data_type = eina_stringshare_add("null"); + } for (;;) switch (ls->t.kw) { case KW_legacy_prefix: @@ -960,6 +964,7 @@ parse_class_body(Eo_Lexer *ls, Eina_Bool allow_ctors, Eolian_Class_Type type) check_next(ls, ';'); break; case KW_data: + if (type == EOLIAN_CLASS_INTERFACE) return; CASE_LOCK(ls, data, "data definition") eo_lexer_get(ls); check_next(ls, ':'); diff --git a/src/lib/evas/canvas/evas_clickable_interface.eo b/src/lib/evas/canvas/evas_clickable_interface.eo index d3de7ee..47337b6 100644 --- a/src/lib/evas/canvas/evas_clickable_interface.eo +++ b/src/lib/evas/canvas/evas_clickable_interface.eo @@ -1,6 +1,5 @@ interface Evas.Clickable_Interface (Evas.Signal_Interface) { - data: null; events { clicked; clicked,double; diff --git a/src/lib/evas/canvas/evas_common_interface.eo b/src/lib/evas/canvas/evas_common_interface.eo index 392f8ec..390ef4c 100644 --- a/src/lib/evas/canvas/evas_common_interface.eo +++ b/src/lib/evas/canvas/evas_common_interface.eo @@ -1,7 +1,6 @@ interface Evas.Common_Interface () { eo_prefix: evas_common; - data: null; properties { evas { get { diff --git a/src/lib/evas/canvas/evas_draggable_interface.eo b/src/lib/evas/canvas/evas_draggable_interface.eo index 628f32f..5f1a8d0 100644 --- a/src/lib/evas/canvas/evas_draggable_interface.eo +++ b/src/lib/evas/canvas/evas_draggable_interface.eo @@ -1,6 +1,5 @@ interface Evas.Draggable_Interface (Evas.Signal_Interface) { - data: null; events { drag; drag,start; diff --git a/src/lib/evas/canvas/evas_scrollable_interface.eo b/src/lib/evas/canvas/evas_scrollable_interface.eo index 370435c..8fd36d3 100644 --- a/src/lib/evas/canvas/evas_scrollable_interface.eo +++ b/src/lib/evas/canvas/evas_scrollable_interface.eo @@ -1,6 +1,5 @@ interface Evas.Scrollable_Interface (Evas.Signal_Interface) { - data: null; events { scroll; scroll,anim,start; diff --git a/src/lib/evas/canvas/evas_selectable_interface.eo b/src/lib/evas/canvas/evas_selectable_interface.eo index 4ee2685..44952ab 100644 --- a/src/lib/evas/canvas/evas_selectable_interface.eo +++ b/src/lib/evas/canvas/evas_selectable_interface.eo @@ -1,6 +1,5 @@ interface Evas.Selectable_Interface (Evas.Signal_Interface) { - data: null; events { selected; unselected; diff --git a/src/lib/evas/canvas/evas_signal_interface.eo b/src/lib/evas/canvas/evas_signal_interface.eo index 733e020..1938c96 100644 --- a/src/lib/evas/canvas/evas_signal_interface.eo +++ b/src/lib/evas/canvas/evas_signal_interface.eo @@ -1,6 +1,5 @@ interface Evas.Signal_Interface () { - data: null; implements { class.constructor; class.destructor; diff --git a/src/lib/evas/canvas/evas_zoomable_interface.eo b/src/lib/evas/canvas/evas_zoomable_interface.eo index ce39aba..43de299 100644 --- a/src/lib/evas/canvas/evas_zoomable_interface.eo +++ b/src/lib/evas/canvas/evas_zoomable_interface.eo @@ -1,6 +1,5 @@ interface Evas.Zoomable_Interface (Evas.Signal_Interface) { - data: null; events { zoom,start; zoom,stop; --