diff options
author | Daniel Kolesa <d.kolesa@osg.samsung.com> | 2017-11-02 13:51:02 +0100 |
---|---|---|
committer | Daniel Kolesa <d.kolesa@osg.samsung.com> | 2017-11-02 13:51:02 +0100 |
commit | cf63573e73c098b5f4e10387afc71f6caea7d173 (patch) | |
tree | 7de13da42a72780a949ed421533ee9ded775044b /src/lib | |
parent | 3989f11f113aac0e9081dc5ed985476425603a20 (diff) |
eolian: only allow reference (ownable) types in containers
Diffstat (limited to 'src/lib')
-rw-r--r-- | src/lib/ecore_con/efl_net_control.eo | 2 | ||||
-rw-r--r-- | src/lib/ecore_con/efl_net_dialer_http.eo | 6 | ||||
-rw-r--r-- | src/lib/ecore_con/efl_net_dialer_websocket.eo | 2 | ||||
-rw-r--r-- | src/lib/efl/interfaces/efl_gfx_types.eot | 4 | ||||
-rw-r--r-- | src/lib/efl/interfaces/efl_observable.eo | 2 | ||||
-rw-r--r-- | src/lib/elementary/efl_access_action.eo | 2 | ||||
-rw-r--r-- | src/lib/eolian/database_validate.c | 13 | ||||
-rw-r--r-- | src/lib/evas/canvas/efl_canvas_text.eo | 4 | ||||
-rw-r--r-- | src/lib/evas/canvas/evas_canvas3d_node.eo | 4 |
9 files changed, 25 insertions, 14 deletions
diff --git a/src/lib/ecore_con/efl_net_control.eo b/src/lib/ecore_con/efl_net_control.eo index 3e8b70d1a8..d93f459e17 100644 --- a/src/lib/ecore_con/efl_net_control.eo +++ b/src/lib/ecore_con/efl_net_control.eo | |||
@@ -44,7 +44,7 @@ struct Efl.Net.Control.Agent_Request_Input { | |||
44 | access_point: Efl.Net.Control.Access_Point; [[The access point that triggered this request.]] | 44 | access_point: Efl.Net.Control.Access_Point; [[The access point that triggered this request.]] |
45 | fields: Efl.Net.Control.Agent_Request_Input.Field; [[Bitwise OR of fields present in this request.]] | 45 | fields: Efl.Net.Control.Agent_Request_Input.Field; [[Bitwise OR of fields present in this request.]] |
46 | passphrase_type: string; [[Extra detail on the meaning for the passphrase field, such as wep, psk, response (IEEE802.X GTC/OTP), string...]] | 46 | passphrase_type: string; [[Extra detail on the meaning for the passphrase field, such as wep, psk, response (IEEE802.X GTC/OTP), string...]] |
47 | informational: list<Efl.Net.Control.Agent_Request_Input.Information>; [[Such as the previous passphrase, VPN host]] | 47 | informational: list<ptr(Efl.Net.Control.Agent_Request_Input.Information)>; [[Such as the previous passphrase, VPN host]] |
48 | } | 48 | } |
49 | 49 | ||
50 | struct Efl.Net.Control.Agent_Error { | 50 | struct Efl.Net.Control.Agent_Error { |
diff --git a/src/lib/ecore_con/efl_net_dialer_http.eo b/src/lib/ecore_con/efl_net_dialer_http.eo index af2a3d8f0c..9115cf2a0b 100644 --- a/src/lib/ecore_con/efl_net_dialer_http.eo +++ b/src/lib/ecore_con/efl_net_dialer_http.eo | |||
@@ -189,7 +189,7 @@ class Efl.Net.Dialer.Http (Efl.Loop_User, Efl.Net.Dialer, Efl.Io.Sizer) { | |||
189 | 189 | ||
190 | request_headers_get { | 190 | request_headers_get { |
191 | [[Returns an iterator to the key-value pairs for request headers]] | 191 | [[Returns an iterator to the key-value pairs for request headers]] |
192 | return: iterator<Efl.Net.Http.Header> @owned @warn_unused; [[Iterator for request headers]] | 192 | return: iterator<ptr(Efl.Net.Http.Header)> @owned @warn_unused; [[Iterator for request headers]] |
193 | } | 193 | } |
194 | 194 | ||
195 | @property request_content_length { | 195 | @property request_content_length { |
@@ -252,7 +252,7 @@ class Efl.Net.Dialer.Http (Efl.Loop_User, Efl.Net.Dialer, Efl.Io.Sizer) { | |||
252 | 252 | ||
253 | This will be usable after "headers,done" event is dispatched. | 253 | This will be usable after "headers,done" event is dispatched. |
254 | ]] | 254 | ]] |
255 | return: iterator<Efl.Net.Http.Header> @owned @warn_unused; [[Iterator for response headers]] | 255 | return: iterator<ptr(Efl.Net.Http.Header)> @owned @warn_unused; [[Iterator for response headers]] |
256 | } | 256 | } |
257 | 257 | ||
258 | response_headers_all_get { | 258 | response_headers_all_get { |
@@ -277,7 +277,7 @@ class Efl.Net.Dialer.Http (Efl.Loop_User, Efl.Net.Dialer, Efl.Io.Sizer) { | |||
277 | 277 | ||
278 | This will be usable after "headers,done" event is dispatched. | 278 | This will be usable after "headers,done" event is dispatched. |
279 | ]] | 279 | ]] |
280 | return: iterator<Efl.Net.Http.Header> @owned @warn_unused; [[Iterator for all response headers]] | 280 | return: iterator<ptr(Efl.Net.Http.Header)> @owned @warn_unused; [[Iterator for all response headers]] |
281 | } | 281 | } |
282 | 282 | ||
283 | response_headers_clear { | 283 | response_headers_clear { |
diff --git a/src/lib/ecore_con/efl_net_dialer_websocket.eo b/src/lib/ecore_con/efl_net_dialer_websocket.eo index 534f5b7b34..4aef2b4e8e 100644 --- a/src/lib/ecore_con/efl_net_dialer_websocket.eo +++ b/src/lib/ecore_con/efl_net_dialer_websocket.eo | |||
@@ -268,7 +268,7 @@ class Efl.Net.Dialer.Websocket (Efl.Loop_User, Efl.Net.Dialer) { | |||
268 | 268 | ||
269 | request_headers_get { | 269 | request_headers_get { |
270 | [[Returns an iterator to the key-value pairs for request headers]] | 270 | [[Returns an iterator to the key-value pairs for request headers]] |
271 | return: iterator<Efl.Net.Http.Header> @owned @warn_unused; [[Iterator to key value pairs]] | 271 | return: iterator<ptr(Efl.Net.Http.Header)> @owned @warn_unused; [[Iterator to key value pairs]] |
272 | } | 272 | } |
273 | 273 | ||
274 | @property cookie_jar { | 274 | @property cookie_jar { |
diff --git a/src/lib/efl/interfaces/efl_gfx_types.eot b/src/lib/efl/interfaces/efl_gfx_types.eot index 20ddeea09f..1250d43130 100644 --- a/src/lib/efl/interfaces/efl_gfx_types.eot +++ b/src/lib/efl/interfaces/efl_gfx_types.eot | |||
@@ -158,8 +158,8 @@ enum Efl.Gfx.Change.Flag | |||
158 | struct Efl.Gfx.Event.Render_Post | 158 | struct Efl.Gfx.Event.Render_Post |
159 | { | 159 | { |
160 | [[Data sent along a "render,post" event, after a frame has been rendered.]] | 160 | [[Data sent along a "render,post" event, after a frame has been rendered.]] |
161 | updated_area: list <Eina.Rect>; [[A list of rectangles that were | 161 | updated_area: list<ptr(Eina.Rect)>; [[A list of rectangles that were |
162 | updated in the canvas.]] | 162 | updated in the canvas.]] |
163 | } | 163 | } |
164 | 164 | ||
165 | enum Efl.Gfx.Size.Hint.Aspect | 165 | enum Efl.Gfx.Size.Hint.Aspect |
diff --git a/src/lib/efl/interfaces/efl_observable.eo b/src/lib/efl/interfaces/efl_observable.eo index 517113bf27..8aa7bba6c1 100644 --- a/src/lib/efl/interfaces/efl_observable.eo +++ b/src/lib/efl/interfaces/efl_observable.eo | |||
@@ -56,7 +56,7 @@ class Efl.Observable (Efl.Object) { | |||
56 | [[Return a new iterator associated to this observable. | 56 | [[Return a new iterator associated to this observable. |
57 | 57 | ||
58 | @since 1.19]] | 58 | @since 1.19]] |
59 | return: iterator<Efl.Observable.Tuple> @owned; [[Iterator for observer]] | 59 | return: iterator<ptr(Efl.Observable.Tuple)> @owned; [[Iterator for observer]] |
60 | } | 60 | } |
61 | } | 61 | } |
62 | implements { | 62 | implements { |
diff --git a/src/lib/elementary/efl_access_action.eo b/src/lib/elementary/efl_access_action.eo index ca5d3457d8..12e313a038 100644 --- a/src/lib/elementary/efl_access_action.eo +++ b/src/lib/elementary/efl_access_action.eo | |||
@@ -47,7 +47,7 @@ mixin Efl.Access.Action () | |||
47 | get @pure_virtual { | 47 | get @pure_virtual { |
48 | } | 48 | } |
49 | values { | 49 | values { |
50 | actions: list<Elm_Atspi_Action>; [[Contains statically allocated strings]] | 50 | actions: list<ptr(Elm_Atspi_Action)>; [[Contains statically allocated strings]] |
51 | } | 51 | } |
52 | } | 52 | } |
53 | action_do @protected @pure_virtual @beta { | 53 | action_do @protected @pure_virtual @beta { |
diff --git a/src/lib/eolian/database_validate.c b/src/lib/eolian/database_validate.c index 22df42d8ff..ecfb806b0b 100644 --- a/src/lib/eolian/database_validate.c +++ b/src/lib/eolian/database_validate.c | |||
@@ -181,10 +181,11 @@ _validate_type(Eolian_Type *tp) | |||
181 | { | 181 | { |
182 | if (tp->base_type) | 182 | if (tp->base_type) |
183 | { | 183 | { |
184 | int kwid = eo_lexer_keyword_str_to_id(tp->full_name); | ||
184 | if (!tp->freefunc) | 185 | if (!tp->freefunc) |
185 | { | 186 | { |
186 | tp->freefunc = eina_stringshare_add(eo_complex_frees[ | 187 | tp->freefunc = eina_stringshare_add(eo_complex_frees[ |
187 | eo_lexer_keyword_str_to_id(tp->full_name) - KW_accessor]); | 188 | kwid - KW_accessor]); |
188 | } | 189 | } |
189 | Eolian_Type *itp = tp->base_type; | 190 | Eolian_Type *itp = tp->base_type; |
190 | /* validate types in brackets so freefuncs get written... */ | 191 | /* validate types in brackets so freefuncs get written... */ |
@@ -192,6 +193,16 @@ _validate_type(Eolian_Type *tp) | |||
192 | { | 193 | { |
193 | if (!_validate_type(itp)) | 194 | if (!_validate_type(itp)) |
194 | return EINA_FALSE; | 195 | return EINA_FALSE; |
196 | if ((kwid >= KW_accessor) && (kwid <= KW_list)) | ||
197 | { | ||
198 | if (!database_type_is_ownable(itp)) | ||
199 | { | ||
200 | snprintf(buf, sizeof(buf), | ||
201 | "%s cannot contain value types (%s)", | ||
202 | tp->full_name, itp->full_name); | ||
203 | return _obj_error(&itp->base, buf); | ||
204 | } | ||
205 | } | ||
195 | itp = itp->next_type; | 206 | itp = itp->next_type; |
196 | } | 207 | } |
197 | return _validate(&tp->base); | 208 | return _validate(&tp->base); |
diff --git a/src/lib/evas/canvas/efl_canvas_text.eo b/src/lib/evas/canvas/efl_canvas_text.eo index 00a05653df..891dc97e94 100644 --- a/src/lib/evas/canvas/efl_canvas_text.eo +++ b/src/lib/evas/canvas/efl_canvas_text.eo | |||
@@ -179,7 +179,7 @@ Efl.Text.Cursor, Efl.Text.Annotate, Efl.Text.Markup) | |||
179 | @in cur1: const(ptr(Efl.Text.Cursor.Cursor)); [[Start of range]] | 179 | @in cur1: const(ptr(Efl.Text.Cursor.Cursor)); [[Start of range]] |
180 | @in cur2: const(ptr(Efl.Text.Cursor.Cursor)); [[End of range]] | 180 | @in cur2: const(ptr(Efl.Text.Cursor.Cursor)); [[End of range]] |
181 | } | 181 | } |
182 | return: iterator<Eina.Rect> @owned; [[ | 182 | return: iterator<ptr(Eina.Rect)> @owned; [[ |
183 | Iterator on all geoemtries of the given range | 183 | Iterator on all geoemtries of the given range |
184 | ]] | 184 | ]] |
185 | } | 185 | } |
@@ -197,7 +197,7 @@ Efl.Text.Cursor, Efl.Text.Annotate, Efl.Text.Markup) | |||
197 | @in cur1: ptr(const(Efl.Text.Cursor.Cursor)); [[Start of range]] | 197 | @in cur1: ptr(const(Efl.Text.Cursor.Cursor)); [[Start of range]] |
198 | @in cur2: ptr(const(Efl.Text.Cursor.Cursor)); [[End of range]] | 198 | @in cur2: ptr(const(Efl.Text.Cursor.Cursor)); [[End of range]] |
199 | } | 199 | } |
200 | return: iterator<Eina.Rect> @owned; [[ | 200 | return: iterator<ptr(Eina.Rect)> @owned; [[ |
201 | Iterator on all simple geometries of the given range | 201 | Iterator on all simple geometries of the given range |
202 | ]] | 202 | ]] |
203 | } | 203 | } |
diff --git a/src/lib/evas/canvas/evas_canvas3d_node.eo b/src/lib/evas/canvas/evas_canvas3d_node.eo index 0c19fe9107..f9b18258fc 100644 --- a/src/lib/evas/canvas/evas_canvas3d_node.eo +++ b/src/lib/evas/canvas/evas_canvas3d_node.eo | |||
@@ -54,8 +54,8 @@ class Evas.Canvas3D.Node (Evas.Canvas3D.Object) | |||
54 | } | 54 | } |
55 | scene_root_get { | 55 | scene_root_get { |
56 | [[Get hash table of scenes using this node as root.]] | 56 | [[Get hash table of scenes using this node as root.]] |
57 | 57 | /* FIXME: void_ptr is actually uintptr and that is also wrong */ | |
58 | return: hash<Evas.Canvas3D.Object, uintptr>; [[ scenes using this node as root. FIXME: Actually a scene, not object.]] | 58 | return: hash<Evas.Canvas3D.Object, void_ptr>; [[ scenes using this node as root. FIXME: Actually a scene, not object.]] |
59 | } | 59 | } |
60 | position_set { | 60 | position_set { |
61 | [[Set the position of the given node. | 61 | [[Set the position of the given node. |