eolian: remove param @nonull
authorDaniel Kolesa <d.kolesa@samsung.com>
Sun, 26 May 2019 15:25:15 +0000 (17:25 +0200)
committerJunsuChoi <jsuya.choi@samsung.com>
Thu, 30 May 2019 08:17:52 +0000 (17:17 +0900)
This has been deprecated for a while and is not strictly necessary
- as a part of an effort to stabilize Eolian, remove this. Eolian
will eventually gain support for versioning and use a reversed
behavior (i.e. no NULL by default), but the API it wlll use for
that will be very different. Features can always be added, it's
much harder to drop them.

@feature

33 files changed:
src/bin/eolian/headers.c
src/bindings/luajit/eolian.lua
src/lib/ecore_con/efl_net_dialer.eo
src/lib/ecore_con/efl_net_ip_address.eo
src/lib/ecore_con/efl_net_server.eo
src/lib/ecore_con/efl_net_server_udp.eo
src/lib/ecore_con/efl_net_socket_udp.eo
src/lib/ector/ector_surface.eo
src/lib/edje/efl_layout_group.eo
src/lib/efl/interfaces/efl_file_save.eo
src/lib/efl/interfaces/efl_gfx_stack.eo
src/lib/efl/interfaces/efl_io_reader.eo
src/lib/efl/interfaces/efl_io_writer.eo
src/lib/elementary/efl_access_text.eo
src/lib/elementary/efl_ui_focus_manager.eo
src/lib/elementary/efl_ui_focus_manager_calc.eo
src/lib/elementary/elm_code_syntax.c
src/lib/eo/efl_object.eo
src/lib/eolian/Eolian.h
src/lib/eolian/database_function_parameter_api.c
src/lib/eolian/eo_lexer.h
src/lib/eolian/eo_parser.c
src/lib/eolian/eolian_database.h
src/lib/evas/canvas/efl_canvas_group.eo
src/lib/evas/canvas/efl_canvas_object.eo
src/lib/evas/canvas/efl_canvas_proxy.eo
src/scripts/pyolian/eolian.py
src/scripts/pyolian/eolian_lib.py
src/scripts/pyolian/test_eolian.py
src/tests/eolian/data/function_as_argument.eo
src/tests/eolian/data/function_as_argument_impl_ref.c
src/tests/eolian/data/function_as_argument_ref.c
src/tests/eolian/data/function_as_argument_ref.h

index 63f38fe..9da3d74 100644 (file)
@@ -51,6 +51,8 @@ eo_gen_params(Eina_Iterator *itr, Eina_Strbuf *buf,
           eina_strbuf_append(buf, ", ");
         *nidx += _gen_param(buf, pr, ftype, &rpid);
 
+        /* Keep the logic for when there's a better way to emit NONNULL */
+#if 0
         if (!eolian_parameter_is_nonull(pr) || !flagbuf)
           continue;
 
@@ -61,6 +63,9 @@ eo_gen_params(Eina_Iterator *itr, Eina_Strbuf *buf,
           }
         else
           eina_strbuf_append_printf(*flagbuf, ", %d", *nidx - rpid);
+#else
+        (void)flagbuf;
+#endif
      }
    eina_iterator_free(itr);
 }
index 34da82c..48f5027 100644 (file)
@@ -369,7 +369,6 @@ ffi.cdef [[
     const Eolian_Type *eolian_parameter_type_get(const Eolian_Function_Parameter *param);
     const Eolian_Expression *eolian_parameter_default_value_get(const Eolian_Function_Parameter *param);
     const Eolian_Documentation *eolian_parameter_documentation_get(const Eolian_Function_Parameter *param);
-    Eina_Bool eolian_parameter_is_nonull(const Eolian_Function_Parameter *param_desc);
     Eina_Bool eolian_parameter_is_optional(const Eolian_Function_Parameter *param_desc);
     const Eolian_Type *eolian_function_return_type_get(const Eolian_Function *function_id, Eolian_Function_Type ftype);
     const Eolian_Expression *eolian_function_return_default_value_get(const Eolian_Function *foo_id, Eolian_Function_Type ftype);
@@ -1263,10 +1262,6 @@ ffi.metatype("Eolian_Function_Parameter", {
             return v
         end,
 
-        is_nonull = function(self)
-            return eolian.eolian_parameter_is_nonull(self) ~= 0
-        end,
-
         is_optional = function(self)
             return eolian.eolian_parameter_is_optional(self) ~= 0
         end
index fce3897..47685e1 100644 (file)
@@ -29,7 +29,7 @@ interface @beta Efl.Net.Dialer extends Efl.Net.Socket {
               dispatched.
             ]]
             params {
-                address: string @nonull; [[Remote address]]
+                address: string; [[Remote address]]
             }
             return: Eina.Error; [[0 on success, error code otherwise]]
         }
index 8e0370a..effdf47 100644 (file)
@@ -59,7 +59,7 @@ class @beta Efl.Net.Ip_Address extends Efl.Object {
               use @.create. To create from a string use @.parse.
             ]]
             params {
-                sockaddr: const(void_ptr) @nonull; [[The pointer to struct sockaddr-compatible handle as per <netinet/in.h>.]]
+                sockaddr: const(void_ptr); [[The pointer to struct sockaddr-compatible handle as per <netinet/in.h>.]]
             }
             return: Efl.Net.Ip_Address @owned; [[Newly created object or $NULL if parameter was invalid.]]
         }
@@ -104,7 +104,7 @@ class @beta Efl.Net.Ip_Address extends Efl.Object {
               and port.
             ]]
             params {
-                address: string @nonull; [[The address, such as enlightenment.org:http or enlightenment.org (port=0)]]
+                address: string; [[The address, such as enlightenment.org:http or enlightenment.org (port=0)]]
                 family: int @optional; [[Preferred family. AF_UNSPEC or 0 for both, otherwise one of AF_INET or AF_INET6]]
                 flags: int @optional; [[Flags to use with getaddrinfo(). If 0, default flags are used (AI_V4MAPPED | AI_ADDRCONFIG, if these exist in your system).]]
             }
@@ -123,7 +123,7 @@ class @beta Efl.Net.Ip_Address extends Efl.Object {
             ]]
             get { }
             values {
-                str: string @nonull; [[Numeric address as string]]
+                str: string; [[Numeric address as string]]
             }
         }
 
@@ -167,7 +167,7 @@ class @beta Efl.Net.Ip_Address extends Efl.Object {
               May only be set once. Afterwards the object does not change.
             ]]
             values {
-                sockaddr: const(void_ptr) @nonull; [[Sockaddr struct. As usual with struct sockaddr, the first field, struct sockaddr::sa_family, defines the rest of the structure and how the whole structure must be interpreted. If AF_INET is struct sockaddr_in, AF_INET6 is struct sockaddr_in6.]]
+                sockaddr: const(void_ptr); [[Sockaddr struct. As usual with struct sockaddr, the first field, struct sockaddr::sa_family, defines the rest of the structure and how the whole structure must be interpreted. If AF_INET is struct sockaddr_in, AF_INET6 is struct sockaddr_in6.]]
             }
         }
 
index 72b0bb2..8241bf6 100644 (file)
@@ -43,7 +43,7 @@ interface @beta Efl.Net.Server {
               dispatched.
             ]]
             params {
-                address: string @nonull; [[Address to run server on]]
+                address: string; [[Address to run server on]]
             }
             return: Eina.Error; [[$0 on success, error code otherwise]]
         }
index 3532a7b..edb9471 100644 (file)
@@ -36,7 +36,7 @@ class @beta Efl.Net.Server_Udp extends Efl.Net.Server_Ip {
                  ff02::1@1 - use loopback interface (idx=1)
             ]]
             params {
-                address: string @nonull; [[Multicast group address]]
+                address: string; [[Multicast group address]]
             }
             return: Eina.Error; [[0 on success, error code otherwise]]
         }
@@ -47,7 +47,7 @@ class @beta Efl.Net.Server_Udp extends Efl.Net.Server_Ip {
               This reverses the effect of @.multicast_join.
             ]]
             params {
-                address: string @nonull; [[Multicast group address]]
+                address: string; [[Multicast group address]]
             }
             return: Eina.Error; [[0 on success, error code otherwise]]
         }
index 2e5ed25..561473b 100644 (file)
@@ -87,7 +87,7 @@ class @beta Efl.Net.Socket_Udp extends Efl.Net.Socket_Fd {
                  ff02::1@1 - use loopback interface (idx=1)
             ]]
             params {
-                address: string @nonull; [[Multicast address to join]]
+                address: string; [[Multicast address to join]]
             }
             return: Eina.Error; [[$0 on success, error code otherwise]]
         }
@@ -98,7 +98,7 @@ class @beta Efl.Net.Socket_Udp extends Efl.Net.Socket_Fd {
               This reverses the effect of @.multicast_join.
             ]]
             params {
-                address: string @nonull; [[Multicast address to leave]]
+                address: string; [[Multicast address to leave]]
             }
             return: Eina.Error; [[$0 on success, error code otherwise]]
         }
@@ -159,7 +159,7 @@ class @beta Efl.Net.Socket_Udp extends Efl.Net.Socket_Fd {
                 return: Eina.Error; [[$0 on success, error code otherwise]]
             }
             values {
-                address: string @nonull; [[Address to bind to]]
+                address: string; [[Address to bind to]]
             }
         }
 
index f29cf07..0dcfff2 100644 (file)
@@ -18,7 +18,7 @@ mixin @beta Ector.Surface extends Ector.Buffer
          [[Create a new renderer factory for the given type]]
          return: Efl.Object; [[Renderer factory object]] /* FIXME: Should be a more restricted type, only here for cyclic. */
          params {
-            @in type: const(Efl.Class) @nonull; [[Efl class]] /* FIXME: Should probably be a more restricted type */
+            @in type: const(Efl.Class); [[Efl class]] /* FIXME: Should probably be a more restricted type */
          }
       }
    }
index 78592ab..d6de69e 100644 (file)
@@ -113,7 +113,7 @@ interface Efl.Layout.Group
          ]]
          get { [[Returns $true if the part exists in the EDC group.]] }
          keys {
-            part: string @nonull; [[The part name to check.]]
+            part: string; [[The part name to check.]]
          }
          values {
             exists: bool; [[$true if the part exists, $false otherwise.]]
index e9a72ec..5f8274d 100644 (file)
@@ -31,10 +31,10 @@ interface Efl.File_Save {
            "quality=100 compress=9".
          ]]
          params {
-            @in file: string @nonull; [[The filename to be used to save the image (extension
-                                              obligatory).]]
+            @in file: string; [[The filename to be used to save the image (extension
+                                obligatory).]]
             @in key: string; [[The image key in the file (if an Eet one), or $null,
-                                     otherwise.]]
+                               otherwise.]]
             @in info: const(ptr(Efl.File_Save_Info)); [[The flags to be used ($null for defaults).]]
          }
          return: bool;  [[$true on success, $false otherwise]]
index ea3ce84..cb1307c 100644 (file)
@@ -84,7 +84,7 @@ interface Efl.Gfx.Stack
            See also @.layer.get(), @.layer.set() and @.stack_below()]]
 
          params {
-            @in below: Efl.Gfx.Stack @nonull; [[The object below which to stack]]
+            @in below: Efl.Gfx.Stack; [[The object below which to stack]]
          }
       }
       raise_to_top {
@@ -118,7 +118,7 @@ interface Efl.Gfx.Stack
            See also @.layer.get(), @.layer.set() and @.stack_below()]]
 
          params {
-            @in above: Efl.Gfx.Stack @nonull; [[The object above which to stack]]
+            @in above: Efl.Gfx.Stack; [[The object above which to stack]]
          }
       }
       lower_to_bottom {
index 873b11e..2e16603 100644 (file)
@@ -29,7 +29,7 @@ interface Efl.Io.Reader {
               You can understand this method as read(2) libc function.
             ]]
             params {
-               @inout rw_slice: Eina.Rw_Slice @nonull; [[Provides a pre-allocated memory to be filled up to rw_slice.len. It will be populated and the length will be set to the actually used amount of bytes, which can be smaller than the request.]]
+               @inout rw_slice: Eina.Rw_Slice; [[Provides a pre-allocated memory to be filled up to rw_slice.len. It will be populated and the length will be set to the actually used amount of bytes, which can be smaller than the request.]]
             }
             return: Eina.Error; [[0 on succeed, a mapping of errno otherwise]]
         }
index bfff724..471b6a0 100644 (file)
@@ -29,7 +29,7 @@ interface Efl.Io.Writer {
               You can understand this method as write(2) libc function.
             ]]
             params {
-                @inout slice: Eina.Slice @nonull; [[Provides a pre-populated memory to be used up to slice.len. The returned slice will be adapted as length will be set to the actually used amount of bytes, which can be smaller than the request.]]
+                @inout slice: Eina.Slice; [[Provides a pre-populated memory to be used up to slice.len. The returned slice will be adapted as length will be set to the actually used amount of bytes, which can be smaller than the request.]]
                 @out remaining: Eina.Slice @optional; [[Convenience to output the remaining parts of slice that was not written. If the full slice was written, this will be a slice of zero-length.]]
             }
             return: Eina.Error; [[0 on succeed, a mapping of errno otherwise]]
index 0d42c02..9511419 100644 (file)
@@ -64,7 +64,7 @@ interface @beta Efl.Access.Text
          }
          keys {
             granularity: Efl.Access.Text_Granularity; [[Text granularity]]
-            start_offset: ptr(int) @nonull; [[Offset indicating start of string according to given granularity.  -1 in case of error.]]
+            start_offset: ptr(int); [[Offset indicating start of string according to given granularity.  -1 in case of error.]]
             end_offset: ptr(int); [[Offset indicating end of string according to given granularity. -1 in case of error.]]
          }
          values {
@@ -101,8 +101,8 @@ interface @beta Efl.Access.Text
             return: bool; [[$true if attribute name is set, $false otherwise]]
          }
          keys {
-            name: string @nonull; [[Text attribute name]]
-            start_offset: ptr(int) @nonull; [[Position in text from which given attribute is set.]]
+            name: string; [[Text attribute name]]
+            start_offset: ptr(int); [[Position in text from which given attribute is set.]]
             end_offset: ptr(int); [[Position in text to which given attribute is set.]]
          }
          values {
@@ -114,7 +114,7 @@ interface @beta Efl.Access.Text
             [[Gets list of all text attributes.]]
          }
          keys {
-            start_offset: ptr(int) @nonull; [[Start offset]]
+            start_offset: ptr(int); [[Start offset]]
             end_offset: ptr(int); [[End offset]]
          }
          values {
index 7d1a510..fbc7888 100644 (file)
@@ -69,7 +69,7 @@ interface Efl.Ui.Focus.Manager {
             ]]
 
             values {
-                focus : Efl.Ui.Focus.Object @nonull; [[Currently focused element.]]
+                focus : Efl.Ui.Focus.Object; [[Currently focused element.]]
             }
         }
         @property redirect {
@@ -121,7 +121,7 @@ interface Efl.Ui.Focus.Manager {
             get {}
 
             values {
-                root : Efl.Ui.Focus.Object @nonull; [[Will be registered into
+                root : Efl.Ui.Focus.Object; [[Will be registered into
                     this manager object.]]
             }
         }
index 7f19741..d21b925 100644 (file)
@@ -15,9 +15,9 @@ class @beta Efl.Ui.Focus.Manager_Calc extends Efl.Object implements Efl.Ui.Focus
               $child gets focused.
             ]]
             params {
-                child : Efl.Ui.Focus.Object @nonull; [[The object to register]]
-                parent : Efl.Ui.Focus.Object @nonull; [[The parent to use in
-                                                        the logical tree]]
+                child : Efl.Ui.Focus.Object; [[The object to register]]
+                parent : Efl.Ui.Focus.Object; [[The parent to use in
+                                                the logical tree]]
                 redirect : Efl.Ui.Focus.Manager; [[The redirect manager to set
                     once this child is focused can be NULL for no redirect]]
             }
@@ -30,9 +30,9 @@ class @beta Efl.Ui.Focus.Manager_Calc extends Efl.Object implements Efl.Ui.Focus
               of the items that are.
             ]]
             params {
-                child : Efl.Ui.Focus.Object @nonull; [[The object to register]]
-                parent : Efl.Ui.Focus.Object @nonull; [[The parent to use in
-                                                        the logical tree]]
+                child : Efl.Ui.Focus.Object; [[The object to register]]
+                parent : Efl.Ui.Focus.Object; [[The parent to use in
+                                                the logical tree]]
                 redirect : Efl.Ui.Focus.Manager; [[The redirect manager to set
                     once this child is focused can be $null for no redirect]]
             }
@@ -45,7 +45,7 @@ class @beta Efl.Ui.Focus.Manager_Calc extends Efl.Object implements Efl.Ui.Focus
               in the redirect property. Set redirect to $null if nothing should happen.
             ]]
             params {
-                child : Efl.Ui.Focus.Object @nonull; [[The child to update]]
+                child : Efl.Ui.Focus.Object; [[The child to update]]
                 redirect : Efl.Ui.Focus.Manager; [[Once $child is focused this
                     element will be set as redirect]]
             }
@@ -54,8 +54,8 @@ class @beta Efl.Ui.Focus.Manager_Calc extends Efl.Object implements Efl.Ui.Focus
         update_parent {
             [[Set a new logical parent for the given child.]]
             params {
-                child : Efl.Ui.Focus.Object @nonull; [[The child to update]]
-                parent : Efl.Ui.Focus.Object @nonull; [[The parent which now
+                child : Efl.Ui.Focus.Object; [[The child to update]]
+                parent : Efl.Ui.Focus.Object; [[The parent which now
                     will be the logical parent of child]]
             }
             return : bool; [[$true if successful, $false otherwise]]
@@ -63,7 +63,7 @@ class @beta Efl.Ui.Focus.Manager_Calc extends Efl.Object implements Efl.Ui.Focus
         update_children {
             [[Give the list of children a different order.]]
             params {
-                parent : Efl.Ui.Focus.Object @nonull; [[the parent to update]]
+                parent : Efl.Ui.Focus.Object; [[the parent to update]]
                 children : list<Efl.Ui.Focus.Object> @owned; [[the list with the new order]]
             }
             return : bool; [[$true if successful, $false otherwise]]
@@ -74,7 +74,7 @@ class @beta Efl.Ui.Focus.Manager_Calc extends Efl.Object implements Efl.Ui.Focus
               Children from the list which are not true children are ignored.
             ]]
             params {
-                parent : Efl.Ui.Focus.Object @nonull; [[the parent to update]]
+                parent : Efl.Ui.Focus.Object; [[the parent to update]]
                 children : list<Efl.Ui.Focus.Object> @owned; [[the order of items]]
             }
         }
index 369aa12..4c28426 100644 (file)
@@ -100,7 +100,7 @@ static Elm_Code_Syntax _elm_code_syntax_eo =
     "abstract", "class", "data", "mixin", "import", "interface", "type", "const", "var", \
     "own", "free", "struct", "enum", "@extern", "@free", "@auto", "@empty", \
     "@private", "@protected", "@beta", "@hot", "@const", "@class", "@pure_virtual", \
-    "@property", "@nonull", "@nullable", "@optional", "@in", "@out", "@inout", "@warn_unused", \
+    "@property", "@nullable", "@optional", "@in", "@out", "@inout", "@warn_unused", \
     "eo_prefix", "legacy_prefix", "methods", "events", "params", "return", "legacy", \
     "implements", "constructors", "get", "set", "keys", "values", "true", "false", "null"}
 };
index 84a5558..163c935 100644 (file)
@@ -336,14 +336,14 @@ abstract Efl.Object
             the priority. As a shortcut @Efl.Callback_Priority_Before,
             @Efl.Callback_Priority_Default and @Efl.Callback_Priority_After can be used. See
             @Efl.Callback_Priority for more details.]]
-            @in source: Efl.Object @nonull; [[The object which emits the initial event]]
+            @in source: Efl.Object; [[The object which emits the initial event]]
          }
       }
       event_callback_forwarder_del {
          [[Remove an event callback forwarder for a specified event and object.]]
          params {
             @cref desc: Efl.Event_Description; [[The description of the event to listen to]]
-            @in new_obj: Efl.Object @nonull; [[The object to emit events from]]
+            @in new_obj: Efl.Object; [[The object to emit events from]]
          }
       }
       children_iterator_new {
index 2f5346e..331a2d3 100644 (file)
@@ -1782,16 +1782,6 @@ eolian_parameter_name_get(const Eolian_Function_Parameter *param)
 EAPI const Eolian_Documentation *eolian_parameter_documentation_get(const Eolian_Function_Parameter *param);
 
 /*
- * @brief Indicates if a parameter cannot be NULL.
- *
- * @param[in] param_desc parameter handle
- * @return EINA_TRUE if cannot be NULL, EINA_FALSE otherwise
- *
- * @ingroup Eolian
- */
-EAPI Eina_Bool eolian_parameter_is_nonull(const Eolian_Function_Parameter *param_desc);
-
-/*
  * @brief Indicates if a parameter is optional.
  *
  * @param[in] param_desc parameter handle
index 265c98e..6b1f6a7 100644 (file)
@@ -34,13 +34,6 @@ eolian_parameter_documentation_get(const Eolian_Function_Parameter *param)
 }
 
 EAPI Eina_Bool
-eolian_parameter_is_nonull(const Eolian_Function_Parameter *param)
-{
-   EINA_SAFETY_ON_NULL_RETURN_VAL(param, EINA_FALSE);
-   return param->nonull;
-}
-
-EAPI Eina_Bool
 eolian_parameter_is_optional(const Eolian_Function_Parameter *param)
 {
    EINA_SAFETY_ON_NULL_RETURN_VAL(param, EINA_FALSE);
index cc8fc9c..0a38166 100644 (file)
@@ -33,11 +33,11 @@ enum Tokens
     KW(keys), KW(legacy), KW(methods), KW(mixin), KW(params), \
     KW(parse), KW(parts), KW(ptr), KW(set), KW(type), KW(values), KW(var), KW(requires), \
     \
-    KWAT(auto), KWAT(beta), KWAT(class), KWAT(const), KWAT(cref), KWAT(empty), \
-    KWAT(extern), KWAT(free), KWAT(hot), KWAT(in), KWAT(inout), KWAT(nonull), \
-    KWAT(nullable), KWAT(optional), KWAT(out), KWAT(owned), KWAT(private), \
-    KWAT(property), KWAT(protected), KWAT(restart), KWAT(pure_virtual), \
-    KWAT(warn_unused), \
+    KWAT(auto), KWAT(beta), KWAT(c_name), KWAT(class), KWAT(const), KWAT(cref), \
+    KWAT(empty), KWAT(extern), KWAT(free), KWAT(hot), KWAT(in), KWAT(inout), \
+    KWAT(nullable), KWAT(optional), KWAT(out), KWAT(owned), \
+    KWAT(private), KWAT(property), KWAT(protected), KWAT(restart), \
+    KWAT(pure_virtual), KWAT(warn_unused), \
     \
     KW(byte), KW(ubyte), KW(char), KW(short), KW(ushort), KW(int), KW(uint), \
     KW(long), KW(ulong), KW(llong), KW(ullong), \
index 3a75555..3c9e61d 100644 (file)
@@ -906,7 +906,7 @@ static void
 parse_param(Eo_Lexer *ls, Eina_List **params, Eina_Bool allow_inout,
             Eina_Bool is_vals)
 {
-   Eina_Bool has_nonull   = EINA_FALSE, has_optional = EINA_FALSE,
+   Eina_Bool has_optional = EINA_FALSE,
              has_owned    = EINA_FALSE;
    Eina_Bool cref = (ls->t.kw == KW_at_cref);
    Eolian_Function_Parameter *par = calloc(1, sizeof(Eolian_Function_Parameter));
@@ -955,11 +955,6 @@ parse_param(Eo_Lexer *ls, Eina_List **params, Eina_Bool allow_inout,
      }
    for (;;) switch (ls->t.kw)
      {
-      case KW_at_nonull:
-        CASE_LOCK(ls, nonull, "nonull qualifier")
-        par->nonull = EINA_TRUE;
-        eo_lexer_get(ls);
-        break;
       case KW_at_optional:
         CASE_LOCK(ls, optional, "optional qualifier");
         par->optional = EINA_TRUE;
index f51f426..03a8cbb 100644 (file)
@@ -251,7 +251,6 @@ struct _Eolian_Function_Parameter
    Eolian_Expression *value;
    Eolian_Documentation *doc;
    Eolian_Parameter_Dir param_dir;
-   Eina_Bool nonull :1; /* True if this argument cannot be NULL - deprecated */
    Eina_Bool optional :1; /* True if this argument is optional */
 };
 
index 503b217..858277e 100644 (file)
@@ -77,7 +77,7 @@ class Efl.Canvas.Group extends Efl.Canvas.Object
            See also @.group_member_is.
          ]]
          params {
-            @in sub_obj: Efl.Canvas.Object @nonull; [[The member object.]]
+            @in sub_obj: Efl.Canvas.Object; [[The member object.]]
          }
       }
       group_member_remove {
index 6cd64ea..9fa27dc 100644 (file)
@@ -135,7 +135,7 @@ abstract Efl.Canvas.Object extends Efl.Loop_Consumer implements Efl.Gfx.Entity,
             ]]
          }
          values {
-            clipper: Efl.Canvas.Object @nonull; [[The object to clip $obj by.]]
+            clipper: Efl.Canvas.Object; [[The object to clip $obj by.]]
          }
       }
       @property repeat_events {
@@ -413,7 +413,7 @@ abstract Efl.Canvas.Object extends Efl.Loop_Consumer implements Efl.Gfx.Entity,
          ]]
          return: bool @warn_unused; [[$true if the call succeeded, $false otherwise.]]
          params {
-            @in keyname: string @nonull; [[The key to request events for.]]
+            @in keyname: string; [[The key to request events for.]]
             @in modifiers: Efl.Input.Modifier; [[A combination of modifier
                               keys that must be present to trigger the event.]]
             @in not_modifiers: Efl.Input.Modifier; [[A combination of modifier
@@ -432,7 +432,7 @@ abstract Efl.Canvas.Object extends Efl.Loop_Consumer implements Efl.Gfx.Entity,
            and the legacy API evas_focus_get.
          ]]
          params {
-            @in keyname: string @nonull; [[The key the grab is set for.]]
+            @in keyname: string; [[The key the grab is set for.]]
             @in modifiers: Efl.Input.Modifier; [[A mask of modifiers that must be
                                                  present to trigger the event.]]
             @in not_modifiers: Efl.Input.Modifier; [[A mask of modifiers that must
index f13b07a..edf54a7 100644 (file)
@@ -30,7 +30,7 @@ class @beta Efl.Canvas.Proxy extends Efl.Canvas.Image_Internal
          }
          get {}
          values {
-            src: Efl.Canvas.Object @nonull; [[Source object to use for the proxy.]]
+            src: Efl.Canvas.Object; [[Source object to use for the proxy.]]
          }
       }
       @property source_clip {
index bd92075..216c94e 100644 (file)
@@ -975,10 +975,6 @@ class Function_Parameter(Object):
         return Documentation(c_doc) if c_doc else None
 
     @cached_property
-    def is_nonull(self):
-        return bool(lib.eolian_parameter_is_nonull(self))
-
-    @cached_property
     def is_optional(self):
         return bool(lib.eolian_parameter_is_optional(self))
 
index 4fe2dc5..c278442 100644 (file)
@@ -399,10 +399,6 @@ lib.eolian_parameter_default_value_get.restype = c_void_p
 lib.eolian_parameter_documentation_get.argtypes = (c_void_p,)
 lib.eolian_parameter_documentation_get.restype = c_void_p
 
-# EAPI Eina_Bool eolian_parameter_is_nonull(const Eolian_Function_Parameter *param_desc);
-lib.eolian_parameter_is_nonull.argtypes = (c_void_p,)
-lib.eolian_parameter_is_nonull.restype = c_bool
-
 # EAPI Eina_Bool eolian_parameter_is_optional(const Eolian_Function_Parameter *param_desc);
 lib.eolian_parameter_is_optional.argtypes = (c_void_p,)
 lib.eolian_parameter_is_optional.restype = c_bool
index 2a59349..df7740b 100755 (executable)
@@ -380,7 +380,6 @@ class TestEolianFunction(unittest.TestCase):
         self.assertEqual(p.direction, eolian.Eolian_Parameter_Dir.IN)
         self.assertEqual(p.name, 'add')
         self.assertIsNone(p.default_value)
-        self.assertFalse(p.is_nonull)  # TODO is correct ?? 'add' can be null?
         self.assertFalse(p.is_optional)
         self.assertEqual(p.type.name, 'double')
         self.assertIsInstance(p.documentation, eolian.Documentation)
index 5a14e86..68c709d 100644 (file)
@@ -8,12 +8,6 @@ class Function_As_Argument {
       }
     }
 
-    set_nonull_cb {
-      params {
-        cb: VoidFunc @nonull;
-      }
-    }
-
     call_cb {
       params {
         a: int;
index aef6721..64b7a33 100644 (file)
@@ -13,12 +13,6 @@ _function_as_argument_set_cb(Eo *obj, Function_As_Argument_Data *pd, void *cb_da
 
 }
 
-EOLIAN static void
-_function_as_argument_set_nonull_cb(Eo *obj, Function_As_Argument_Data *pd, void *cb_data, VoidFunc cb, Eina_Free_Cb cb_free_cb)
-{
-
-}
-
 EOLIAN static char *
 _function_as_argument_call_cb(Eo *obj, Function_As_Argument_Data *pd, int a, double b)
 {
index 0c00260..6d3a70d 100644 (file)
@@ -3,10 +3,6 @@ void _function_as_argument_set_cb(Eo *obj, Function_As_Argument_Data *pd, void *
 
 EOAPI EFL_VOID_FUNC_BODYV(function_as_argument_set_cb, EFL_FUNC_CALL(cb_data, cb, cb_free_cb), void *cb_data, SimpleFunc cb, Eina_Free_Cb cb_free_cb);
 
-void _function_as_argument_set_nonull_cb(Eo *obj, Function_As_Argument_Data *pd, void *cb_data, VoidFunc cb, Eina_Free_Cb cb_free_cb);
-
-EOAPI EFL_VOID_FUNC_BODYV(function_as_argument_set_nonull_cb, EFL_FUNC_CALL(cb_data, cb, cb_free_cb), void *cb_data, VoidFunc cb, Eina_Free_Cb cb_free_cb);
-
 char *_function_as_argument_call_cb(Eo *obj, Function_As_Argument_Data *pd, int a, double b);
 
 EOAPI EFL_FUNC_BODYV(function_as_argument_call_cb, char *, NULL, EFL_FUNC_CALL(a, b), int a, double b);
@@ -24,7 +20,6 @@ _function_as_argument_class_initializer(Efl_Class *klass)
 
    EFL_OPS_DEFINE(ops,
       EFL_OBJECT_OP_FUNC(function_as_argument_set_cb, _function_as_argument_set_cb),
-      EFL_OBJECT_OP_FUNC(function_as_argument_set_nonull_cb, _function_as_argument_set_nonull_cb),
       EFL_OBJECT_OP_FUNC(function_as_argument_call_cb, _function_as_argument_call_cb),
       FUNCTION_AS_ARGUMENT_EXTRA_OPS
    );
index 61179c5..7ab0479 100644 (file)
@@ -19,8 +19,6 @@ EWAPI const Efl_Class *function_as_argument_class_get(void);
 
 EOAPI void function_as_argument_set_cb(Eo *obj, void *cb_data, SimpleFunc cb, Eina_Free_Cb cb_free_cb);
 
-EOAPI void function_as_argument_set_nonull_cb(Eo *obj, void *cb_data, VoidFunc cb, Eina_Free_Cb cb_free_cb) EINA_ARG_NONNULL(3);
-
 EOAPI char *function_as_argument_call_cb(Eo *obj, int a, double b);
 
 #endif