aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorDaniel Kolesa <d.kolesa@osg.samsung.com>2017-01-02 16:09:04 +0100
committerDaniel Kolesa <d.kolesa@osg.samsung.com>2017-01-02 16:09:04 +0100
commit45e6a3e86aa1fd7c89cecd975bcf8125cd69d87d (patch)
treebe000410811aa2d3a6d6d32a2e06018405d5fffd /src
parenteolian: fill ctor class early on (diff)
downloadefl-45e6a3e86aa1fd7c89cecd975bcf8125cd69d87d.tar.gz
eolian: disallow duplicate implements
Diffstat (limited to '')
-rw-r--r--src/lib/elementary/efl_ui_text.eo6
-rw-r--r--src/lib/elementary/efl_ui_win.eo3
-rw-r--r--src/lib/elementary/elm_entry.eo6
-rw-r--r--src/lib/eolian/database_fill.c16
4 files changed, 19 insertions, 12 deletions
diff --git a/src/lib/elementary/efl_ui_text.eo b/src/lib/elementary/efl_ui_text.eo
index 06c8f29f9d..4ab6700fd7 100644
--- a/src/lib/elementary/efl_ui_text.eo
+++ b/src/lib/elementary/efl_ui_text.eo
@@ -416,11 +416,10 @@ class Efl.Ui.Text (Elm.Layout, Elm.Interface_Scrollable, Efl.Ui.Clickable,
Elm.Widget.focus_next_manager_is;
Elm.Layout.theme_enable;
Elm.Layout.sizing_eval;
- Elm.Layout.text { get; }
+ Elm.Layout.text { get; set; }
Elm.Layout.signal_callback_add;
Elm.Layout.signal_callback_del;
Elm.Layout.signal_emit;
- Elm.Layout.text { set; }
Elm.Layout.content_aliases { get; }
Elm.Interface_Scrollable.policy { set; }
Elm.Interface_Scrollable.bounce_allow { set; }
@@ -438,11 +437,10 @@ class Efl.Ui.Text (Elm.Layout, Elm.Interface_Scrollable, Efl.Ui.Clickable,
Elm.Interface.Atspi.Text.offset_at_point { get; }
Elm.Interface.Atspi.Text.bounded_ranges { get; }
Elm.Interface.Atspi.Text.range_extents { get; }
- Elm.Interface.Atspi.Text.selection { get; }
+ Elm.Interface.Atspi.Text.selection { get; set; }
Elm.Interface.Atspi.Text.selections_count { get; }
Elm.Interface.Atspi.Text.selection_add;
Elm.Interface.Atspi.Text.selection_remove;
- Elm.Interface.Atspi.Text.selection { set; }
Elm.Interface.Atspi.Text.Editable.content { set; }
Elm.Interface.Atspi.Text.Editable.insert;
Elm.Interface.Atspi.Text.Editable.copy;
diff --git a/src/lib/elementary/efl_ui_win.eo b/src/lib/elementary/efl_ui_win.eo
index b4014414e6..007aeb5fdc 100644
--- a/src/lib/elementary/efl_ui_win.eo
+++ b/src/lib/elementary/efl_ui_win.eo
@@ -963,8 +963,7 @@ class Efl.Ui.Win (Elm.Widget, Efl.Canvas, Elm.Interface.Atspi.Window,
Efl.Canvas.object_top_at_xy_get;
Efl.Canvas.objects_in_rectangle_get;
Efl.Canvas.object_top_in_rectangle_get;
- Efl.Container.content { set; }
- Efl.Container.content { get; }
+ Efl.Container.content { get; set; }
Efl.Container.content_unset;
Efl.Part.part;
}
diff --git a/src/lib/elementary/elm_entry.eo b/src/lib/elementary/elm_entry.eo
index 95f5bc7f03..77c3b1658f 100644
--- a/src/lib/elementary/elm_entry.eo
+++ b/src/lib/elementary/elm_entry.eo
@@ -957,11 +957,10 @@ class Elm.Entry (Elm.Layout, Elm.Interface_Scrollable, Efl.Ui.Clickable,
Elm.Widget.focus_next_manager_is;
Elm.Layout.theme_enable;
Elm.Layout.sizing_eval;
- Elm.Layout.text { get; }
+ Elm.Layout.text { get; set; }
Elm.Layout.signal_callback_add;
Elm.Layout.signal_callback_del;
Elm.Layout.signal_emit;
- Elm.Layout.text { set; }
Elm.Layout.content_aliases { get; }
Elm.Interface_Scrollable.policy { set; }
Elm.Interface_Scrollable.bounce_allow { set; }
@@ -979,11 +978,10 @@ class Elm.Entry (Elm.Layout, Elm.Interface_Scrollable, Efl.Ui.Clickable,
Elm.Interface.Atspi.Text.offset_at_point { get; }
Elm.Interface.Atspi.Text.bounded_ranges { get; }
Elm.Interface.Atspi.Text.range_extents { get; }
- Elm.Interface.Atspi.Text.selection { get; }
+ Elm.Interface.Atspi.Text.selection { get; set; }
Elm.Interface.Atspi.Text.selections_count { get; }
Elm.Interface.Atspi.Text.selection_add;
Elm.Interface.Atspi.Text.selection_remove;
- Elm.Interface.Atspi.Text.selection { set; }
Elm.Interface.Atspi.Text.Editable.content { set; }
Elm.Interface.Atspi.Text.Editable.insert;
Elm.Interface.Atspi.Text.Editable.copy;
diff --git a/src/lib/eolian/database_fill.c b/src/lib/eolian/database_fill.c
index d380cc70a7..6ffa93b6d8 100644
--- a/src/lib/eolian/database_fill.c
+++ b/src/lib/eolian/database_fill.c
@@ -190,9 +190,21 @@ _db_fill_implements(Eolian_Class *cl)
Eolian_Function *foo_id;
Eina_List *l;
+ Eina_Hash *th = eina_hash_string_small_new(NULL);
EINA_LIST_FOREACH(cl->implements, l, impl)
- if (!_db_fill_implement(cl, impl))
- return EINA_FALSE;
+ {
+ if (eina_hash_find(th, impl->full_name))
+ {
+ fprintf(stderr, "eolian:%s:%d:%d: duplicate implement '%s'\n",
+ impl->base.file, impl->base.line, impl->base.column,
+ impl->full_name);
+ return EINA_FALSE;
+ }
+ if (!_db_fill_implement(cl, impl))
+ return EINA_FALSE;
+ eina_hash_add(th, impl->full_name, impl->full_name);
+ }
+ eina_hash_free(th);
EINA_LIST_FOREACH(cl->properties, l, foo_id)
_db_build_implement(cl, foo_id);