summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Kolesa <d.kolesa@samsung.com>2019-08-31 14:02:20 +0200
committerDaniel Kolesa <d.kolesa@samsung.com>2019-08-31 14:02:20 +0200
commitfdc85f895dabd4dedb53509bf2edec5fbd9d471c (patch)
tree34e22df77ec6654f4c7ed6601f8468bd18172bb0
parent3e22ac3e1c2c7828dd647480bbc81a411297cea9 (diff)
downloadefl-fdc85f895dabd4dedb53509bf2edec5fbd9d471c.tar.gz
eolian: properly handle non-beta restriction of __undefined_type
-rw-r--r--src/lib/ecore_audio/ecore_audio.eo4
-rw-r--r--src/lib/efl/interfaces/efl_text_types.eot4
-rw-r--r--src/lib/elementary/elm_interface_scrollable.eo6
-rw-r--r--src/lib/eolian/database_validate.c21
4 files changed, 18 insertions, 17 deletions
diff --git a/src/lib/ecore_audio/ecore_audio.eo b/src/lib/ecore_audio/ecore_audio.eo
index df76e70bbd..79be83c5dd 100644
--- a/src/lib/ecore_audio/ecore_audio.eo
+++ b/src/lib/ecore_audio/ecore_audio.eo
@@ -1,5 +1,5 @@
-type @extern Ecore.Audio.Vio: __undefined_type; [[Ecore audio vio type]] /* FIXME: Had function pointer members. */
-type @extern efl_key_data_free_func: __undefined_type; [[Efl key data free function type]] /* FIXME: Function pointers not allowed. */
+type @extern @beta Ecore.Audio.Vio: __undefined_type; [[Ecore audio vio type]] /* FIXME: Had function pointer members. */
+type @extern @beta efl_key_data_free_func: __undefined_type; [[Efl key data free function type]] /* FIXME: Function pointers not allowed. */
enum @beta Ecore.Audio.Format {
[[Ecore audio format type]]
diff --git a/src/lib/efl/interfaces/efl_text_types.eot b/src/lib/efl/interfaces/efl_text_types.eot
index 1e1d59fd1e..f50e0d55fe 100644
--- a/src/lib/efl/interfaces/efl_text_types.eot
+++ b/src/lib/efl/interfaces/efl_text_types.eot
@@ -19,7 +19,7 @@ struct @beta Efl.Ui.Text_Change_Info {
merge: bool; [[$true if can be merged with the previous one. Used for example with insertion when something is already selected]]
}
-type @extern Efl.Text_Annotate_Annotation: __undefined_type; [[EFL text annotations data structure]]
+type @extern @beta Efl.Text_Annotate_Annotation: __undefined_type; [[EFL text annotations data structure]]
-type @extern Efl.Text_Cursor_Cursor: __undefined_type; [[Text cursor data structure]]
+type @extern @beta Efl.Text_Cursor_Cursor: __undefined_type; [[Text cursor data structure]]
diff --git a/src/lib/elementary/elm_interface_scrollable.eo b/src/lib/elementary/elm_interface_scrollable.eo
index 77f2422864..92b127cb80 100644
--- a/src/lib/elementary/elm_interface_scrollable.eo
+++ b/src/lib/elementary/elm_interface_scrollable.eo
@@ -1,6 +1,6 @@
-type Elm_Interface_Scrollable_Cb: __undefined_type; [[Elementary interface scrollable callback type]]
-type Elm_Interface_Scrollable_Resize_Cb: __undefined_type; [[Elementary interface scrollable resize callback type]]
-type Elm_Interface_Scrollable_Min_Limit_Cb: __undefined_type; [[Elementary interface scrollable minimal limit callback type]]
+type @beta Elm_Interface_Scrollable_Cb: __undefined_type; [[Elementary interface scrollable callback type]]
+type @beta Elm_Interface_Scrollable_Resize_Cb: __undefined_type; [[Elementary interface scrollable resize callback type]]
+type @beta Elm_Interface_Scrollable_Min_Limit_Cb: __undefined_type; [[Elementary interface scrollable minimal limit callback type]]
/* FIXME: Rename the namespace of the types. */
enum Elm.Scroller.Policy
diff --git a/src/lib/eolian/database_validate.c b/src/lib/eolian/database_validate.c
index b8b7f81678..6d13d53ac0 100644
--- a/src/lib/eolian/database_validate.c
+++ b/src/lib/eolian/database_validate.c
@@ -269,7 +269,14 @@ _validate_type(Validate_State *vals, Eolian_Type *tp)
switch (tp->type)
{
case EOLIAN_TYPE_VOID:
+ return _validate(&tp->base);
case EOLIAN_TYPE_UNDEFINED:
+ if (vals->stable)
+ {
+ _eo_parser_log(&tp->base,
+ "__undefined_type not allowed in stable context");
+ return EINA_FALSE;
+ }
return _validate(&tp->base);
case EOLIAN_TYPE_REGULAR:
{
@@ -314,17 +321,11 @@ _validate_type(Validate_State *vals, Eolian_Type *tp)
default:
break;
}
- switch (id)
+ if (id == KW_void_ptr && vals->stable)
{
- case KW_void_ptr:
- case KW___undefined_type:
- if (vals->stable)
- {
- _eo_parser_log(&tp->base,
- "deprecated builtin type '%s' not allowed in stable context",
- tp->base.name);
- return EINA_FALSE;
- }
+ _eo_parser_log(&tp->base,
+ "void pointers not allowed in stable context");
+ return EINA_FALSE;
}
return _validate(&tp->base);
}