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)
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 df76e70..79be83c 100644
--- a/src/lib/ecore_audio/ecore_audio.eo
+++ b/src/lib/ecore_audio/ecore_audio.eo
@@ -1,5 +1,5 @@
1type @extern Ecore.Audio.Vio: __undefined_type; [[Ecore audio vio type]] /* FIXME: Had function pointer members. */ 1type @extern @beta Ecore.Audio.Vio: __undefined_type; [[Ecore audio vio type]] /* FIXME: Had function pointer members. */
2type @extern efl_key_data_free_func: __undefined_type; [[Efl key data free function type]] /* FIXME: Function pointers not allowed. */ 2type @extern @beta efl_key_data_free_func: __undefined_type; [[Efl key data free function type]] /* FIXME: Function pointers not allowed. */
3 3
4enum @beta Ecore.Audio.Format { 4enum @beta Ecore.Audio.Format {
5 [[Ecore audio format type]] 5 [[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 1e1d59f..f50e0d5 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 {
19 merge: bool; [[$true if can be merged with the previous one. Used for example with insertion when something is already selected]] 19 merge: bool; [[$true if can be merged with the previous one. Used for example with insertion when something is already selected]]
20} 20}
21 21
22type @extern Efl.Text_Annotate_Annotation: __undefined_type; [[EFL text annotations data structure]] 22type @extern @beta Efl.Text_Annotate_Annotation: __undefined_type; [[EFL text annotations data structure]]
23 23
24type @extern Efl.Text_Cursor_Cursor: __undefined_type; [[Text cursor data structure]] 24type @extern @beta Efl.Text_Cursor_Cursor: __undefined_type; [[Text cursor data structure]]
25 25
diff --git a/src/lib/elementary/elm_interface_scrollable.eo b/src/lib/elementary/elm_interface_scrollable.eo
index 77f2422..92b127c 100644
--- a/src/lib/elementary/elm_interface_scrollable.eo
+++ b/src/lib/elementary/elm_interface_scrollable.eo
@@ -1,6 +1,6 @@
1type Elm_Interface_Scrollable_Cb: __undefined_type; [[Elementary interface scrollable callback type]] 1type @beta Elm_Interface_Scrollable_Cb: __undefined_type; [[Elementary interface scrollable callback type]]
2type Elm_Interface_Scrollable_Resize_Cb: __undefined_type; [[Elementary interface scrollable resize callback type]] 2type @beta Elm_Interface_Scrollable_Resize_Cb: __undefined_type; [[Elementary interface scrollable resize callback type]]
3type Elm_Interface_Scrollable_Min_Limit_Cb: __undefined_type; [[Elementary interface scrollable minimal limit callback type]] 3type @beta Elm_Interface_Scrollable_Min_Limit_Cb: __undefined_type; [[Elementary interface scrollable minimal limit callback type]]
4 4
5/* FIXME: Rename the namespace of the types. */ 5/* FIXME: Rename the namespace of the types. */
6enum Elm.Scroller.Policy 6enum Elm.Scroller.Policy
diff --git a/src/lib/eolian/database_validate.c b/src/lib/eolian/database_validate.c
index b8b7f81..6d13d53 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)
269 switch (tp->type) 269 switch (tp->type)
270 { 270 {
271 case EOLIAN_TYPE_VOID: 271 case EOLIAN_TYPE_VOID:
272 return _validate(&tp->base);
272 case EOLIAN_TYPE_UNDEFINED: 273 case EOLIAN_TYPE_UNDEFINED:
274 if (vals->stable)
275 {
276 _eo_parser_log(&tp->base,
277 "__undefined_type not allowed in stable context");
278 return EINA_FALSE;
279 }
273 return _validate(&tp->base); 280 return _validate(&tp->base);
274 case EOLIAN_TYPE_REGULAR: 281 case EOLIAN_TYPE_REGULAR:
275 { 282 {
@@ -314,17 +321,11 @@ _validate_type(Validate_State *vals, Eolian_Type *tp)
314 default: 321 default:
315 break; 322 break;
316 } 323 }
317 switch (id) 324 if (id == KW_void_ptr && vals->stable)
318 { 325 {
319 case KW_void_ptr: 326 _eo_parser_log(&tp->base,
320 case KW___undefined_type: 327 "void pointers not allowed in stable context");
321 if (vals->stable) 328 return EINA_FALSE;
322 {
323 _eo_parser_log(&tp->base,
324 "deprecated builtin type '%s' not allowed in stable context",
325 tp->base.name);
326 return EINA_FALSE;
327 }
328 } 329 }
329 return _validate(&tp->base); 330 return _validate(&tp->base);
330 } 331 }