q66 pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=2946cb3c325f27d77354ac1b83b614e3a1d9e1d5

commit 2946cb3c325f27d77354ac1b83b614e3a1d9e1d5
Author: Daniel Kolesa <d.kol...@samsung.com>
Date:   Mon Sep 30 17:01:31 2019 +0200

    eolian: disallow missing docs for stable API where necessary
    
    The things that require docs include classes, variables, typedecls,
    events and methods/properties. Implements, params, returns, parts
    and struct/enum fields don't require them.
    
    Empty/whitespace only string does not count as documentation.
---
 src/lib/ecore/efl_loop_model.eo                  |   1 +
 src/lib/eolian/database_validate.c               |  65 ++--
 src/tests/ecore/ecore_audio_out_test.eo          |   1 +
 src/tests/ecore/efl_app_test_cml.eo              |   2 +-
 src/tests/efl_mono/dummy_child.eo                |   6 +-
 src/tests/efl_mono/dummy_constructible_object.eo |   9 +
 src/tests/efl_mono/dummy_event_manager.eo        |   5 +-
 src/tests/efl_mono/dummy_hidden_object.eo        |   1 +
 src/tests/efl_mono/dummy_inherit_helper.eo       |   3 +
 src/tests/efl_mono/dummy_inherit_iface.eo        |   2 +
 src/tests/efl_mono/dummy_numberwrapper.eo        |   2 +
 src/tests/efl_mono/dummy_part_holder.eo          |   2 +-
 src/tests/efl_mono/dummy_test_iface.eo           |   8 +
 src/tests/efl_mono/dummy_test_object.eo          | 366 ++++++++++++++++++++---
 src/tests/eina_cxx/eina_simple.eo                |   1 +
 src/tests/elementary/focus_manager_test.eo       |   2 +-
 src/tests/elementary/focus_test.eo               |   3 +
 src/tests/elementary/focus_test_sub_main.eo      |   1 +
 src/tests/eolian/data/base.eo                    |   4 +
 src/tests/eolian/data/class_funcs.eo             |   7 +
 src/tests/eolian/data/class_requires.eo          |   2 +-
 src/tests/eolian/data/complex_type.eo            |   3 +
 src/tests/eolian/data/consts.eo                  |   1 +
 src/tests/eolian/data/ctor_dtor.eo               |   4 +
 src/tests/eolian/data/enum.eo                    |  10 +-
 src/tests/eolian/data/events.eo                  |  10 +-
 src/tests/eolian/data/extern.eo                  |   8 +-
 src/tests/eolian/data/free_func.eo               |   8 +-
 src/tests/eolian/data/function_as_argument.eo    |   3 +
 src/tests/eolian/data/function_as_argument_ref.h |  21 ++
 src/tests/eolian/data/function_types.eot         |   4 +
 src/tests/eolian/data/function_types_ref.h       |  16 +
 src/tests/eolian/data/iface.eo                   |   5 +-
 src/tests/eolian/data/import.eo                  |   2 +
 src/tests/eolian/data/import_types.eot           |   3 +-
 src/tests/eolian/data/import_types_ref.h         |   8 +
 src/tests/eolian/data/mixins_require.eo          |   3 +-
 src/tests/eolian/data/nmsp1_class1.eo            |   1 +
 src/tests/eolian/data/nmsp1_nmsp11_class2.eo     |   2 +
 src/tests/eolian/data/nmsp2_class1.eo            |   1 +
 src/tests/eolian/data/no_nmsp.eo                 |   2 +
 src/tests/eolian/data/object_impl.eo             |   6 +
 src/tests/eolian/data/object_impl_add.eo         |   2 +
 src/tests/eolian/data/override.eo                |   6 +
 src/tests/eolian/data/parts.eo                   |   1 +
 src/tests/eolian/data/scope.eo                   |   7 +
 src/tests/eolian/data/struct.eo                  |   9 +-
 src/tests/eolian/data/struct_ref.h               |  20 ++
 src/tests/eolian/data/struct_ref_stub.h          |  12 +
 src/tests/eolian/data/typedef.eo                 |  15 +-
 src/tests/eolian/data/typedef_ref.h              |  32 ++
 src/tests/eolian/data/typedef_ref_stub.h         |  16 +
 src/tests/eolian/data/unimpl.eo                  |   1 +
 src/tests/eolian/data/var.eo                     |   4 +-
 src/tests/eolian/data_aux/aux_a.eo               |   5 +-
 src/tests/eolian/data_aux/aux_b.eo               |   1 +
 src/tests/eolian/data_aux/aux_c.eo               |   7 +-
 src/tests/eolian/generated_future.eo             |   1 +
 src/tests/eolian_cxx/a.eo                        |   1 +
 src/tests/eolian_cxx/b.eo                        |   1 +
 src/tests/eolian_cxx/c.eo                        |   1 +
 src/tests/eolian_cxx/complex.eo                  |  40 +++
 src/tests/eolian_cxx/cyclic1.eo                  |   2 +
 src/tests/eolian_cxx/cyclic2.eo                  |   2 +
 src/tests/eolian_cxx/generic.eo                  |  43 ++-
 src/tests/eolian_cxx/generic_interface.eo        |   1 +
 src/tests/eolian_cxx/name_name.eo                |   1 +
 src/tests/eolian_cxx/ns_name.eo                  |   1 +
 src/tests/eolian_cxx/ns_name_other.eo            |   1 +
 src/tests/eolian_cxx/property_holder.eo          |   6 +
 src/tests/eolian_cxx/simple.eo                   |   3 +
 71 files changed, 747 insertions(+), 109 deletions(-)

diff --git a/src/lib/ecore/efl_loop_model.eo b/src/lib/ecore/efl_loop_model.eo
index ec2488e4fd..e443651a6d 100644
--- a/src/lib/ecore/efl_loop_model.eo
+++ b/src/lib/ecore/efl_loop_model.eo
@@ -1,5 +1,6 @@
 abstract Efl.Loop_Model extends Efl.Loop_Consumer implements Efl.Model
 {
+   [[TBD]]
    data: null;
    methods {
       volatile_make {
diff --git a/src/lib/eolian/database_validate.c 
b/src/lib/eolian/database_validate.c
index c1de7ec11a..20417f7f4a 100644
--- a/src/lib/eolian/database_validate.c
+++ b/src/lib/eolian/database_validate.c
@@ -41,12 +41,23 @@ _validate(Eolian_Object *obj)
    eolian_state_log_obj((_base)->unit->state, (_base), __VA_ARGS__)
 
 static Eina_Bool
-_validate_docstr(Eina_Stringshare *str, const Eolian_Object *info, Eina_List 
**rdbg)
+_validate_docstr(Eina_Stringshare *str, const Eolian_Object *info, Eina_List 
**rdbg, Eina_Bool sum)
 {
-   if (!str || !str[0]) return EINA_TRUE;
+   Eina_List *pl = NULL;
+   if (str && str[0])
+     pl = eolian_documentation_string_split(str);
+   if (!pl)
+     {
+        if (sum)
+          {
+             _eo_parser_log(info, "empty documentation");
+             return EINA_FALSE;
+          }
+        /* description can be empty, summary-only line */
+        return EINA_TRUE;
+     }
 
    Eina_Bool ret = EINA_TRUE;
-   Eina_List *pl = eolian_documentation_string_split(str);
    char *par;
    EINA_LIST_FREE(pl, par)
      {
@@ -88,16 +99,23 @@ _validate_docstr(Eina_Stringshare *str, const Eolian_Object 
*info, Eina_List **r
 }
 
 static Eina_Bool
-_validate_doc(Eolian_Documentation *doc)
+_validate_doc(Validate_State *vals, Eolian_Documentation *doc,
+              const Eolian_Object *obj)
 {
    if (!doc)
+     {
+        if (!obj) return EINA_TRUE;
+        if (!vals->stable) return EINA_TRUE;
+        _eo_parser_log(obj, "missing documentation");
+        return EINA_FALSE;
+     }
      return EINA_TRUE;
 
    Eina_List *rdbg = doc->ref_dbg;
 
-   if (!_validate_docstr(doc->summary, &doc->base, &rdbg))
+   if (!_validate_docstr(doc->summary, &doc->base, &rdbg, EINA_TRUE))
      return EINA_FALSE;
-   if (!_validate_docstr(doc->description, &doc->base, &rdbg))
+   if (!_validate_docstr(doc->description, &doc->base, &rdbg, EINA_FALSE))
      return EINA_FALSE;
 
    return _validate(&doc->base);
@@ -132,7 +150,7 @@ _sf_map_cb(const Eina_Hash *hash EINA_UNUSED, const void 
*key EINA_UNUSED,
    if (!sc->succ)
      return EINA_FALSE;
 
-   sc->succ = _validate_doc(sf->doc);
+   sc->succ = _validate_doc(sc->vals, sf->doc, NULL);
 
    return sc->succ;
 }
@@ -149,7 +167,7 @@ _ef_map_cb(const Eina_Hash *hash EINA_UNUSED, const void 
*key EINA_UNUSED,
    if (!sc->succ)
      return EINA_FALSE;
 
-   sc->succ = _validate_doc(ef->doc);
+   sc->succ = _validate_doc(sc->vals, ef->doc, NULL);
 
    return sc->succ;
 }
@@ -160,12 +178,12 @@ _validate_typedecl(Validate_State *vals, Eolian_Typedecl 
*tp)
    if (tp->base.validated)
      return EINA_TRUE;
 
-   if (!_validate_doc(tp->doc))
-     return EINA_FALSE;
-
    /* for the time being assume all typedecls are beta unless overridden */
    Eina_Bool was_stable = _set_stable(vals, !tp->base.is_beta);
 
+   if (!_validate_doc(vals, tp->doc, &tp->base))
+     return EINA_FALSE;
+
    switch (tp->type)
      {
       case EOLIAN_TYPEDECL_ALIAS:
@@ -471,7 +489,7 @@ _validate_param(Validate_State *vals, 
Eolian_Function_Parameter *param)
    if (param->value && !_validate_expr(param->value, param->type, 0, 
param->by_ref))
      return EINA_FALSE;
 
-   if (!_validate_doc(param->doc))
+   if (!_validate_doc(vals, param->doc, NULL))
      return EINA_FALSE;
 
    return _validate(&param->base);
@@ -539,9 +557,9 @@ _validate_function(Validate_State *vals, Eolian_Function 
*func, Eina_Hash *nhash
 
 #undef EOLIAN_PARAMS_VALIDATE
 
-   if (!_validate_doc(func->get_return_doc))
+   if (!_validate_doc(vals, func->get_return_doc, NULL))
      return _reset_stable(vals, was_stable, EINA_FALSE);
-   if (!_validate_doc(func->set_return_doc))
+   if (!_validate_doc(vals, func->set_return_doc, NULL))
      return _reset_stable(vals, was_stable, EINA_FALSE);
 
    /* just for now, when dups become errors there will be no need to check */
@@ -574,7 +592,7 @@ _validate_part(Validate_State *vals, Eolian_Part *part, 
Eina_Hash *phash)
 
    Eina_Bool was_stable = _set_stable(vals, !part->base.is_beta && 
vals->stable);
 
-   if (!_validate_doc(part->doc))
+   if (!_validate_doc(vals, part->doc, NULL))
      return _reset_stable(vals, was_stable, EINA_FALSE);
 
    /* switch the class name for class */
@@ -693,7 +711,7 @@ _validate_event(Validate_State *vals, Eolian_Event *event, 
Eina_Hash *nhash)
           }
      }
 
-   if (!_validate_doc(event->doc))
+   if (!_validate_doc(vals, event->doc, &event->base))
      return _reset_stable(vals, was_stable, EINA_FALSE);
 
    eina_hash_set(nhash, &event->base.name, &event->base);
@@ -1346,16 +1364,17 @@ _db_fill_inherits(Validate_State *vals, Eolian_Class 
*cl, Eina_Hash *fhash,
 }
 
 static Eina_Bool
-_validate_implement(Eolian_Implement *impl)
+_validate_implement(Validate_State *vals, Eolian_Implement *impl)
 {
    if (impl->base.validated)
      return EINA_TRUE;
 
-   if (!_validate_doc(impl->common_doc))
+   if (!_validate_doc(vals, impl->common_doc, (impl->implklass == impl->klass)
+                      ? &impl->foo_id->base : NULL))
      return EINA_FALSE;
-   if (!_validate_doc(impl->get_doc))
+   if (!_validate_doc(vals, impl->get_doc, NULL))
      return EINA_FALSE;
-   if (!_validate_doc(impl->set_doc))
+   if (!_validate_doc(vals, impl->set_doc, NULL))
      return EINA_FALSE;
 
    return _validate(&impl->base);
@@ -1503,7 +1522,7 @@ _validate_class(Validate_State *vals, Eolian_Class *cl,
        return EINA_FALSE;
 
    EINA_LIST_FOREACH(cl->implements, l, impl)
-     if (!_validate_implement(impl))
+     if (!_validate_implement(vals, impl))
        return EINA_FALSE;
 
    /* all the checks that need to be done every time are performed now */
@@ -1514,7 +1533,7 @@ _validate_class(Validate_State *vals, Eolian_Class *cl,
         return EINA_TRUE;
      }
 
-   if (!_validate_doc(cl->doc))
+   if (!_validate_doc(vals, cl->doc, &cl->base))
      return EINA_FALSE;
 
    /* also done */
@@ -1537,7 +1556,7 @@ _validate_constant(Validate_State *vals, Eolian_Constant 
*var)
    if (!_validate_expr(var->value, var->base_type, 0, EINA_FALSE))
      return _reset_stable(vals, was_stable, EINA_FALSE);
 
-   if (!_validate_doc(var->doc))
+   if (!_validate_doc(vals, var->doc, &var->base))
      return _reset_stable(vals, was_stable, EINA_FALSE);
 
    _reset_stable(vals, was_stable, EINA_TRUE);
diff --git a/src/tests/ecore/ecore_audio_out_test.eo 
b/src/tests/ecore/ecore_audio_out_test.eo
index 72b86a0233..307bc38e2e 100644
--- a/src/tests/ecore/ecore_audio_out_test.eo
+++ b/src/tests/ecore/ecore_audio_out_test.eo
@@ -1,5 +1,6 @@
 class @beta Ecore.Audio.Out.Test extends Ecore.Audio.Out
 {
+   [[No description supplied.]]
    data: null;
    implements {
       @empty Ecore.Audio.source { set; get; }
diff --git a/src/tests/ecore/efl_app_test_cml.eo 
b/src/tests/ecore/efl_app_test_cml.eo
index ade7426a89..4114b2003e 100644
--- a/src/tests/ecore/efl_app_test_cml.eo
+++ b/src/tests/ecore/efl_app_test_cml.eo
@@ -1,4 +1,4 @@
 class @beta Efl.App.Test.CML extends Efl.Object implements 
Efl.Core.Command_Line
 {
-
+   [[No description supplied.]]
 }
diff --git a/src/tests/efl_mono/dummy_child.eo 
b/src/tests/efl_mono/dummy_child.eo
index f6de361c45..00233291e7 100644
--- a/src/tests/efl_mono/dummy_child.eo
+++ b/src/tests/efl_mono/dummy_child.eo
@@ -1,9 +1,10 @@
 import eina_types;
 
 class Dummy.Child extends Dummy.Test_Object {
-
+   [[No description supplied.]]
    methods {
       double_params {
+         [[No description supplied.]]
          params {
             @in a: string;
             @in b: double;
@@ -11,6 +12,7 @@ class Dummy.Child extends Dummy.Test_Object {
       }
 
       @property iface_was_set {
+        [[No description supplied.]]
         get {}
         values {
           data: bool;
@@ -30,6 +32,7 @@ class Dummy.Child extends Dummy.Test_Object {
       }
 
       @property obligatory_beta_ctor_was_called {
+        [[No description supplied.]]
         get{}
         values {
           data: bool;
@@ -37,6 +40,7 @@ class Dummy.Child extends Dummy.Test_Object {
       }
 
       @property optional_beta_ctor_was_called {
+        [[No description supplied.]]
         get{}
         values {
           data: bool;
diff --git a/src/tests/efl_mono/dummy_constructible_object.eo 
b/src/tests/efl_mono/dummy_constructible_object.eo
index ea508ed15c..7685764064 100644
--- a/src/tests/efl_mono/dummy_constructible_object.eo
+++ b/src/tests/efl_mono/dummy_constructible_object.eo
@@ -1,16 +1,21 @@
 class Dummy.Constructible_Object extends Efl.Object {
+   [[No description supplied.]]
    methods {
       construct_type_and_store {
+         [[No description supplied.]]
          params {
             @in type: const(Efl.Class);
          }
          return: Efl.Object;
       }
       increment_default_construction_count {
+         [[No description supplied.]]
       }
       increment_special_construction_count {
+         [[No description supplied.]]
       }
       @property native_construction_count {
+         [[No description supplied.]]
          get {
          }
          values {
@@ -18,6 +23,7 @@ class Dummy.Constructible_Object extends Efl.Object {
          }
       }
       @property default_construction_count {
+         [[No description supplied.]]
          get {
          }
          values {
@@ -25,6 +31,7 @@ class Dummy.Constructible_Object extends Efl.Object {
          }
       }
       @property special_construction_count {
+         [[No description supplied.]]
          get {
          }
          values {
@@ -32,6 +39,7 @@ class Dummy.Constructible_Object extends Efl.Object {
          }
       }
       @property internal_object {
+         [[No description supplied.]]
          get {
          }
          values {
@@ -39,6 +47,7 @@ class Dummy.Constructible_Object extends Efl.Object {
          }
       }
       multiply_integer_value @const {
+         [[No description supplied.]]
          params {
             v: int;
          }
diff --git a/src/tests/efl_mono/dummy_event_manager.eo 
b/src/tests/efl_mono/dummy_event_manager.eo
index b16f7b92cb..a584ecf03f 100644
--- a/src/tests/efl_mono/dummy_event_manager.eo
+++ b/src/tests/efl_mono/dummy_event_manager.eo
@@ -1,9 +1,10 @@
 import eina_types;
 
 class Dummy.Event_Manager extends Efl.Object {
-
+   [[No description supplied.]]
    methods {
       @property emitter {
+         [[No description supplied.]]
          set {
          }
          values {
@@ -12,6 +13,7 @@ class Dummy.Event_Manager extends Efl.Object {
       }
 
       emit_with_int {
+         [[No description supplied.]]
          params {
             data: int;
          }
@@ -19,6 +21,7 @@ class Dummy.Event_Manager extends Efl.Object {
       }
 
       release {
+         [[No description supplied.]]
       }
    }
 
diff --git a/src/tests/efl_mono/dummy_hidden_object.eo 
b/src/tests/efl_mono/dummy_hidden_object.eo
index 1b29472a1c..080c326f23 100644
--- a/src/tests/efl_mono/dummy_hidden_object.eo
+++ b/src/tests/efl_mono/dummy_hidden_object.eo
@@ -1,2 +1,3 @@
 class Dummy.Hidden_Object extends Efl.Object {
+   [[No description supplied.]]
 }
diff --git a/src/tests/efl_mono/dummy_inherit_helper.eo 
b/src/tests/efl_mono/dummy_inherit_helper.eo
index f0f9183ebb..3d6b03efb9 100644
--- a/src/tests/efl_mono/dummy_inherit_helper.eo
+++ b/src/tests/efl_mono/dummy_inherit_helper.eo
@@ -1,13 +1,16 @@
 class Dummy.Inherit_Helper extends Efl.Object
 {
+  [[No description supplied.]]
   methods {
     receive_dummy_and_call_int_out @static {
+      [[No description supplied.]]
       params {
         @in x: Dummy.Test_Object;
       }
       return: int;
     }
     receive_dummy_and_call_in_stringshare @static {
+      [[No description supplied.]]
       params {
         @in x: Dummy.Inherit_Iface;
       }
diff --git a/src/tests/efl_mono/dummy_inherit_iface.eo 
b/src/tests/efl_mono/dummy_inherit_iface.eo
index e18403fcd2..432fac3cfa 100644
--- a/src/tests/efl_mono/dummy_inherit_iface.eo
+++ b/src/tests/efl_mono/dummy_inherit_iface.eo
@@ -1,6 +1,8 @@
 interface Dummy.Inherit_Iface {
+   [[No description supplied.]]
    methods {
       stringshare_test {
+         [[No description supplied.]]
          params {
             @in v: stringshare;
          }
diff --git a/src/tests/efl_mono/dummy_numberwrapper.eo 
b/src/tests/efl_mono/dummy_numberwrapper.eo
index 98b265233c..3dd693bf22 100644
--- a/src/tests/efl_mono/dummy_numberwrapper.eo
+++ b/src/tests/efl_mono/dummy_numberwrapper.eo
@@ -1,6 +1,8 @@
 class Dummy.Numberwrapper extends Efl.Object {
+   [[No description supplied.]]
    methods {
       @property number {
+         [[No description supplied.]]
          get {
          }
          set {
diff --git a/src/tests/efl_mono/dummy_part_holder.eo 
b/src/tests/efl_mono/dummy_part_holder.eo
index 1ac88007fc..7a5d761f97 100644
--- a/src/tests/efl_mono/dummy_part_holder.eo
+++ b/src/tests/efl_mono/dummy_part_holder.eo
@@ -1,7 +1,7 @@
 import eina_types;
 
 class Dummy.Part_Holder extends Dummy.Test_Object implements Efl.Part {
-
+   [[No description supplied.]]
    parts {
       one: Dummy.Test_Object; [[ Part number one. ]]
       two: Dummy.Test_Object; [[ Part number two. ]]
diff --git a/src/tests/efl_mono/dummy_test_iface.eo 
b/src/tests/efl_mono/dummy_test_iface.eo
index a8dd405271..3c249dc501 100644
--- a/src/tests/efl_mono/dummy_test_iface.eo
+++ b/src/tests/efl_mono/dummy_test_iface.eo
@@ -1,9 +1,12 @@
 interface Dummy.Test_Iface
 {
+   [[No description supplied.]]
    methods {
       emit_nonconflicted {
+         [[No description supplied.]]
       }
       @property iface_prop {
+         [[No description supplied.]]
          get {}
          set {}
          values {
@@ -12,6 +15,7 @@ interface Dummy.Test_Iface
       }
 
       method_protected @protected @const {
+         [[No description supplied.]]
          params {
             @in x: int;
          }
@@ -19,6 +23,7 @@ interface Dummy.Test_Iface
       }
 
       call_method_protected @const {
+         [[No description supplied.]]
          params {
             @in x: int;
          }
@@ -26,6 +31,7 @@ interface Dummy.Test_Iface
       }
 
       @property protected_prop @protected {
+         [[No description supplied.]]
          get {}
          set {}
          values {
@@ -34,6 +40,7 @@ interface Dummy.Test_Iface
       }
 
       @property public_getter_private_setter {
+         [[No description supplied.]]
          get {}
          set @protected {}
          values {
@@ -42,6 +49,7 @@ interface Dummy.Test_Iface
       }
 
       @property static_prop @static {
+         [[No description supplied.]]
          get {}
          set {}
          values {
diff --git a/src/tests/efl_mono/dummy_test_object.eo 
b/src/tests/efl_mono/dummy_test_object.eo
index 6daf07f1a7..d82d92de5a 100644
--- a/src/tests/efl_mono/dummy_test_object.eo
+++ b/src/tests/efl_mono/dummy_test_object.eo
@@ -1,20 +1,21 @@
 import eina_types;
 
-type Dummy.MyInt: int;
-
-const Dummy.Constvar_Bool : bool = true;
-const Dummy.Constvar_Int : int = -32766;
-const Dummy.Constvar_UInt : uint = 65533U;
-const Dummy.Constvar_Long : long = -2147483644L;
-const Dummy.Constvar_ULong : ulong = 4294967288UL;
-const Dummy.Constvar_LLong : llong = -9223372036854775800LL;
-const Dummy.Constvar_ULLong : ullong = 18446744073709551615ULL;
-const Dummy.Constvar_Float : float = 16777211.0f;
-const Dummy.Constvar_Double : double = 9007199254740988.0;
-const Dummy.Constvar_Char : char = '!';
-const Dummy.Constvar_String : string = "test_str";
+type Dummy.MyInt: int; [[No description supplied.]]
+
+const Dummy.Constvar_Bool : bool = true; [[No description supplied.]]
+const Dummy.Constvar_Int : int = -32766; [[No description supplied.]]
+const Dummy.Constvar_UInt : uint = 65533U; [[No description supplied.]]
+const Dummy.Constvar_Long : long = -2147483644L; [[No description supplied.]]
+const Dummy.Constvar_ULong : ulong = 4294967288UL; [[No description supplied.]]
+const Dummy.Constvar_LLong : llong = -9223372036854775800LL; [[No description 
supplied.]]
+const Dummy.Constvar_ULLong : ullong = 18446744073709551615ULL; [[No 
description supplied.]]
+const Dummy.Constvar_Float : float = 16777211.0f; [[No description supplied.]]
+const Dummy.Constvar_Double : double = 9007199254740988.0; [[No description 
supplied.]]
+const Dummy.Constvar_Char : char = '!'; [[No description supplied.]]
+const Dummy.Constvar_String : string = "test_str"; [[No description supplied.]]
 
 enum Dummy.SampleEnum {
+   [[No description supplied.]]
    v0,
    v1,
    v2,
@@ -24,6 +25,7 @@ enum Dummy.SampleEnum {
 
 struct @free(free) Dummy.StructSimple
 {
+   [[No description supplied.]]
    fbyte: byte;
    fubyte: ubyte;
    fchar: char;
@@ -74,6 +76,7 @@ struct @free(free) Dummy.StructSimple
 }
 
 struct @beta @free(free) Dummy.StructComplex {
+   [[No description supplied.]]
    farray: array<string>;
    flist: list<string>;
    fhash: hash<string, string>;
@@ -87,6 +90,7 @@ struct @beta @free(free) Dummy.StructComplex {
 }
 
 function Dummy.SimpleCb {
+   [[No description supplied.]]
    params {
       a: int;
    }
@@ -94,6 +98,7 @@ function Dummy.SimpleCb {
 };
 
 function Dummy.FormatCb {
+   [[No description supplied.]]
    params {
       @in str: strbuf;
       @in value: const(any_value);
@@ -101,20 +106,25 @@ function Dummy.FormatCb {
 };
 
 class Dummy.Test_Object extends Efl.Object implements Dummy.Test_Iface {
+   [[No description supplied.]]
    methods {
       return_object {
+         [[No description supplied.]]
          return: Dummy.Test_Object;
       }
 
       return_null_object {
+         [[No description supplied.]]
          return: Dummy.Test_Object;
       }
 
       return_iface {
+         [[No description supplied.]]
          return: Dummy.Test_Iface;
       }
 
       int_out {
+         [[No description supplied.]]
          params {
             @in x: int;
             @out y: int;
@@ -123,6 +133,7 @@ class Dummy.Test_Object extends Efl.Object implements 
Dummy.Test_Iface {
 
       /*
       int_ptr_out {
+         [[No description supplied.]]
          params {
             @in x: int;
             @out y: ptr(int);
@@ -131,12 +142,14 @@ class Dummy.Test_Object extends Efl.Object implements 
Dummy.Test_Iface {
       */
 
       in_stringshare {
+         [[No description supplied.]]
          params {
             @in v: stringshare;
          }
          return: stringshare @move;
       }
       in_own_stringshare {
+         [[No description supplied.]]
          params {
             @in v: stringshare @move;
          }
@@ -144,24 +157,29 @@ class Dummy.Test_Object extends Efl.Object implements 
Dummy.Test_Iface {
       }
 
       out_stringshare {
+         [[No description supplied.]]
          params {
             @out v: stringshare;
          }
       }
       out_own_stringshare {
+         [[No description supplied.]]
          params {
             @out v: stringshare @move;
          }
       }
 
       return_stringshare {
+         [[No description supplied.]]
          return: stringshare;
       }
       return_own_stringshare {
+         [[No description supplied.]]
          return: stringshare @move;
       }
 
       in_string {
+         [[No description supplied.]]
          params {
             @in str: string;
          }
@@ -169,6 +187,7 @@ class Dummy.Test_Object extends Efl.Object implements 
Dummy.Test_Iface {
       }
 
       in_own_string {
+         [[No description supplied.]]
          params {
             @in str: mstring @move;
          }
@@ -176,83 +195,100 @@ class Dummy.Test_Object extends Efl.Object implements 
Dummy.Test_Iface {
       }
 
       return_string {
+         [[No description supplied.]]
          return: string;
       }
 
       return_own_string {
+         [[No description supplied.]]
          return: mstring @move;
       }
 
       out_string {
+         [[No description supplied.]]
          params {
             @out str: string;
          }
       }
 
       out_own_string {
+         [[No description supplied.]]
          params {
             @out str: mstring @move;
          }
       }
 
       call_in_string {
+        [[No description supplied.]]
         params {
             @in str: string;
         }
       }
 
       call_in_own_string {
+        [[No description supplied.]]
         params {
             @in str: mstring @move;
         }
       }
 
       call_return_string {
+         [[No description supplied.]]
          return: string;
       }
 
       call_return_own_string {
+         [[No description supplied.]]
          return: mstring @move;
       }
 
       call_out_string {
+         [[No description supplied.]]
          return: string;
       }
 
       call_out_own_string {
+         [[No description supplied.]]
          return: mstring @move;
       }
 
       // Stringshare virtual helpers
       call_in_stringshare {
+        [[No description supplied.]]
         params {
             @in str: stringshare;
         }
       }
 
       call_in_own_stringshare {
+        [[No description supplied.]]
         params {
             @in str: stringshare @move;
         }
       }
 
       call_return_stringshare {
+         [[No description supplied.]]
          return: stringshare;
       }
 
       call_return_own_stringshare {
+         [[No description supplied.]]
          return: stringshare @move;
       }
 
       call_out_stringshare {
+         [[No description supplied.]]
          return: stringshare;
       }
 
       call_out_own_stringshare {
+         [[No description supplied.]]
          return: stringshare @move;
       }
 
       eina_slice_in {
+         [[No description supplied.]]
          params {
             @in slice: slice<ubyte>;
          }
@@ -260,6 +296,7 @@ class Dummy.Test_Object extends Efl.Object implements 
Dummy.Test_Iface {
       }
 
       eina_rw_slice_in {
+         [[No description supplied.]]
          params {
             @in slice: rw_slice<ubyte>;
          }
@@ -267,6 +304,7 @@ class Dummy.Test_Object extends Efl.Object implements 
Dummy.Test_Iface {
       }
 
       eina_slice_out {
+         [[No description supplied.]]
          params {
             @out slice: slice<ubyte>;
          }
@@ -274,6 +312,7 @@ class Dummy.Test_Object extends Efl.Object implements 
Dummy.Test_Iface {
       }
 
       eina_rw_slice_out {
+         [[No description supplied.]]
          params {
             @out slice: rw_slice<ubyte>;
          }
@@ -281,6 +320,7 @@ class Dummy.Test_Object extends Efl.Object implements 
Dummy.Test_Iface {
       }
 
       eina_rw_slice_inout {
+         [[No description supplied.]]
          params {
             @inout slice: rw_slice<ubyte>;
          }
@@ -289,15 +329,18 @@ class Dummy.Test_Object extends Efl.Object implements 
Dummy.Test_Iface {
 
       /*
       eina_slice_return {
+         [[No description supplied.]]
          return: slice<ubyte>;
       }
 
       eina_rw_slice_return {
+         [[No description supplied.]]
          return: rw_slice<ubyte>;
       }
       */
 
       eina_binbuf_in {
+         [[No description supplied.]]
          params {
             @in binbuf: binbuf;
          }
@@ -305,6 +348,7 @@ class Dummy.Test_Object extends Efl.Object implements 
Dummy.Test_Iface {
       }
 
       call_eina_binbuf_in {
+         [[No description supplied.]]
          params {
             @in binbuf: binbuf;
          }
@@ -312,6 +356,7 @@ class Dummy.Test_Object extends Efl.Object implements 
Dummy.Test_Iface {
       }
 
       eina_binbuf_in_own {
+         [[No description supplied.]]
          params {
             @in binbuf: binbuf @move;
          }
@@ -319,6 +364,7 @@ class Dummy.Test_Object extends Efl.Object implements 
Dummy.Test_Iface {
       }
 
       call_eina_binbuf_in_own {
+        [[No description supplied.]]
         params {
             @in str: binbuf @move;
         }
@@ -326,10 +372,12 @@ class Dummy.Test_Object extends Efl.Object implements 
Dummy.Test_Iface {
       }
 
       check_binbuf_in_own {
+         [[No description supplied.]]
          return: bool;
       }
 
       eina_binbuf_out {
+         [[No description supplied.]]
          params {
             @out binbuf: binbuf;
          }
@@ -337,14 +385,17 @@ class Dummy.Test_Object extends Efl.Object implements 
Dummy.Test_Iface {
       }
 
       call_eina_binbuf_out {
+         [[No description supplied.]]
          return: binbuf;
       }
 
       check_binbuf_out {
+         [[No description supplied.]]
          return: bool;
       }
 
       eina_binbuf_out_own {
+         [[No description supplied.]]
          params {
             @out binbuf: binbuf @move;
          }
@@ -352,26 +403,32 @@ class Dummy.Test_Object extends Efl.Object implements 
Dummy.Test_Iface {
       }
 
       call_eina_binbuf_out_own {
+         [[No description supplied.]]
          return: binbuf @move;
       }
 
       eina_binbuf_return {
+         [[No description supplied.]]
          return: binbuf;
       }
 
       call_eina_binbuf_return {
+         [[No description supplied.]]
          return: binbuf;
       }
 
       check_binbuf_return {
+         [[No description supplied.]]
          return: bool;
       }
 
       eina_binbuf_return_own {
+         [[No description supplied.]]
          return: binbuf @move;
       }
 
       call_eina_binbuf_return_own {
+         [[No description supplied.]]
          return: binbuf @move;
       }
 
@@ -379,6 +436,7 @@ class Dummy.Test_Object extends Efl.Object implements 
Dummy.Test_Iface {
 
       /* Integer */
       eina_array_int_in {
+         [[No description supplied.]]
          params {
             @in arr: array<int>;
          }
@@ -386,26 +444,31 @@ class Dummy.Test_Object extends Efl.Object implements 
Dummy.Test_Iface {
       }
 
       eina_array_int_in_own {
+         [[No description supplied.]]
          params {
             @in arr: array<int> @move; // <int @move>
          }
          return: bool;
       }
       check_eina_array_int_in_own {
+         [[No description supplied.]]
          return: bool;
       }
 
       eina_array_int_out {
+         [[No description supplied.]]
          params {
             @out arr: array<int>;
          }
          return: bool;
       }
       check_eina_array_int_out {
+         [[No description supplied.]]
          return: bool;
       }
 
       eina_array_int_out_own {
+         [[No description supplied.]]
          params {
             @out arr: array<int> @move; // <int @move>
          }
@@ -413,18 +476,22 @@ class Dummy.Test_Object extends Efl.Object implements 
Dummy.Test_Iface {
       }
 
       eina_array_int_return {
+         [[No description supplied.]]
          return: array<int>;
       }
       check_eina_array_int_return {
+         [[No description supplied.]]
          return: bool;
       }
 
       eina_array_int_return_own {
+         [[No description supplied.]]
          return: array<int> @move; // <int @move>
       }
 
       /* String */
       eina_array_str_in {
+         [[No description supplied.]]
          params {
             @in arr: array<string>;
          }
@@ -432,26 +499,31 @@ class Dummy.Test_Object extends Efl.Object implements 
Dummy.Test_Iface {
       }
 
       eina_array_str_in_own {
+         [[No description supplied.]]
          params {
             @in arr: array<mstring @move> @move;
          }
          return: bool;
       }
       check_eina_array_str_in_own {
+         [[No description supplied.]]
          return: bool;
       }
 
       eina_array_str_out {
+         [[No description supplied.]]
          params {
             @out arr: array<string>;
          }
          return: bool;
       }
       check_eina_array_str_out {
+         [[No description supplied.]]
          return: bool;
       }
 
       eina_array_str_out_own {
+         [[No description supplied.]]
          params {
             @out arr: array<mstring @move> @move;
          }
@@ -459,18 +531,22 @@ class Dummy.Test_Object extends Efl.Object implements 
Dummy.Test_Iface {
       }
 
       eina_array_str_return {
+         [[No description supplied.]]
          return: array<string>;
       }
       check_eina_array_str_return {
+         [[No description supplied.]]
          return: bool;
       }
 
       eina_array_str_return_own {
+         [[No description supplied.]]
          return: array<mstring @move> @move;
       }
 
       /* Eina_Stringshare */
       eina_array_strshare_in {
+         [[No description supplied.]]
          params {
             @in arr: array<stringshare>;
          }
@@ -478,26 +554,31 @@ class Dummy.Test_Object extends Efl.Object implements 
Dummy.Test_Iface {
       }
 
       eina_array_strshare_in_own {
+         [[No description supplied.]]
          params {
             @in arr: array<stringshare @move> @move;
          }
          return: bool;
       }
       check_eina_array_strshare_in_own {
+         [[No description supplied.]]
          return: bool;
       }
 
       eina_array_strshare_out {
+         [[No description supplied.]]
          params {
             @out arr: array<stringshare>;
          }
          return: bool;
       }
       check_eina_array_strshare_out {
+         [[No description supplied.]]
          return: bool;
       }
 
       eina_array_strshare_out_own {
+         [[No description supplied.]]
          params {
             @out arr: array<stringshare @move> @move;
          }
@@ -505,18 +586,22 @@ class Dummy.Test_Object extends Efl.Object implements 
Dummy.Test_Iface {
       }
 
       eina_array_strshare_return {
+         [[No description supplied.]]
          return: array<stringshare>;
       }
       check_eina_array_strshare_return {
+         [[No description supplied.]]
          return: bool;
       }
 
       eina_array_strshare_return_own {
+         [[No description supplied.]]
          return: array<stringshare @move> @move;
       }
 
       /* Object */
       eina_array_obj_in {
+         [[No description supplied.]]
          params {
             @in arr: array<Dummy.Numberwrapper>;
          }
@@ -524,26 +609,31 @@ class Dummy.Test_Object extends Efl.Object implements 
Dummy.Test_Iface {
       }
 
       eina_array_obj_in_own {
+         [[No description supplied.]]
          params {
             @in arr: array<Dummy.Numberwrapper @move> @move;
          }
          return: bool;
       }
       check_eina_array_obj_in_own {
+         [[No description supplied.]]
          return: bool;
       }
 
       eina_array_obj_out {
+         [[No description supplied.]]
          params {
             @out arr: array<Dummy.Numberwrapper>;
          }
          return: bool;
       }
       check_eina_array_obj_out {
+         [[No description supplied.]]
          return: bool;
       }
 
       eina_array_obj_out_own {
+         [[No description supplied.]]
          params {
             @out arr: array<Dummy.Numberwrapper @move> @move;
          }
@@ -551,17 +641,21 @@ class Dummy.Test_Object extends Efl.Object implements 
Dummy.Test_Iface {
       }
 
       eina_array_obj_return {
+         [[No description supplied.]]
          return: array<Dummy.Numberwrapper>;
       }
       check_eina_array_obj_return {
+         [[No description supplied.]]
          return: bool;
       }
 
       eina_array_obj_return_own {
+         [[No description supplied.]]
          return: array<Dummy.Numberwrapper @move> @move;
       }
 
       eina_array_obj_return_in {
+         [[No description supplied.]]
          params {
             @in arr: array<Dummy.Numberwrapper>;
          }
@@ -572,6 +666,7 @@ class Dummy.Test_Object extends Efl.Object implements 
Dummy.Test_Iface {
 
       /* Integer */
       eina_list_int_in {
+         [[No description supplied.]]
          params {
             @in lst: list<int>;
          }
@@ -579,26 +674,31 @@ class Dummy.Test_Object extends Efl.Object implements 
Dummy.Test_Iface {
       }
 
       eina_list_int_in_own {
+         [[No description supplied.]]
          params {
             @in lst: list<int> @move; // <int @move>
          }
          return: bool;
       }
       check_eina_list_int_in_own {
+         [[No description supplied.]]
          return: bool;
       }
 
       eina_list_int_out {
+         [[No description supplied.]]
          params {
             @out lst: list<int>;
          }
          return: bool;
       }
       check_eina_list_int_out {
+         [[No description supplied.]]
          return: bool;
       }
 
       eina_list_int_out_own {
+         [[No description supplied.]]
          params {
             @out lst: list<int> @move; // <int @move>
          }
@@ -606,18 +706,22 @@ class Dummy.Test_Object extends Efl.Object implements 
Dummy.Test_Iface {
       }
 
       eina_list_int_return {
+         [[No description supplied.]]
          return: list<int>;
       }
       check_eina_list_int_return {
+         [[No description supplied.]]
          return: bool;
       }
 
       eina_list_int_return_own {
+         [[No description supplied.]]
          return: list<int> @move; // <int @move>
       }
 
       /* String */
       eina_list_str_in {
+         [[No description supplied.]]
          params {
             @in lst: list<string>;
          }
@@ -625,26 +729,31 @@ class Dummy.Test_Object extends Efl.Object implements 
Dummy.Test_Iface {
       }
 
       eina_list_str_in_own {
+         [[No description supplied.]]
          params {
             @in lst: list<mstring @move> @move;
          }
          return: bool;
       }
       check_eina_list_str_in_own {
+         [[No description supplied.]]
          return: bool;
       }
 
       eina_list_str_out {
+         [[No description supplied.]]
          params {
             @out lst: list<string>;
          }
          return: bool;
       }
       check_eina_list_str_out {
+         [[No description supplied.]]
          return: bool;
       }
 
       eina_list_str_out_own {
+         [[No description supplied.]]
          params {
             @out lst: list<mstring @move> @move;
          }
@@ -652,18 +761,22 @@ class Dummy.Test_Object extends Efl.Object implements 
Dummy.Test_Iface {
       }
 
       eina_list_str_return {
+         [[No description supplied.]]
          return: list<string>;
       }
       check_eina_list_str_return {
+         [[No description supplied.]]
          return: bool;
       }
 
       eina_list_str_return_own {
+         [[No description supplied.]]
          return: list<mstring @move> @move;
       }
 
       /* Eina_Stringshare */
       eina_list_strshare_in {
+         [[No description supplied.]]
          params {
             @in lst: list<stringshare>;
          }
@@ -671,26 +784,31 @@ class Dummy.Test_Object extends Efl.Object implements 
Dummy.Test_Iface {
       }
 
       eina_list_strshare_in_own {
+         [[No description supplied.]]
          params {
             @in lst: list<stringshare @move> @move;
          }
          return: bool;
       }
       check_eina_list_strshare_in_own {
+         [[No description supplied.]]
          return: bool;
       }
 
       eina_list_strshare_out {
+         [[No description supplied.]]
          params {
             @out lst: list<stringshare>;
          }
          return: bool;
       }
       check_eina_list_strshare_out {
+         [[No description supplied.]]
          return: bool;
       }
 
       eina_list_strshare_out_own {
+         [[No description supplied.]]
          params {
             @out lst: list<stringshare @move> @move;
          }
@@ -698,18 +816,22 @@ class Dummy.Test_Object extends Efl.Object implements 
Dummy.Test_Iface {
       }
 
       eina_list_strshare_return {
+         [[No description supplied.]]
          return: list<stringshare>;
       }
       check_eina_list_strshare_return {
+         [[No description supplied.]]
          return: bool;
       }
 
       eina_list_strshare_return_own {
+         [[No description supplied.]]
          return: list<stringshare @move> @move;
       }
 
       /* Object */
       eina_list_obj_in {
+         [[No description supplied.]]
          params {
             @in lst: list<Dummy.Numberwrapper>;
          }
@@ -717,26 +839,31 @@ class Dummy.Test_Object extends Efl.Object implements 
Dummy.Test_Iface {
       }
 
       eina_list_obj_in_own {
+         [[No description supplied.]]
          params {
             @in lst: list<Dummy.Numberwrapper @move> @move;
          }
          return: bool;
       }
       check_eina_list_obj_in_own {
+         [[No description supplied.]]
          return: bool;
       }
 
       eina_list_obj_out {
+         [[No description supplied.]]
          params {
             @out lst: list<Dummy.Numberwrapper>;
          }
          return: bool;
       }
       check_eina_list_obj_out {
+         [[No description supplied.]]
          return: bool;
       }
 
       eina_list_obj_out_own {
+         [[No description supplied.]]
          params {
             @out lst: list<Dummy.Numberwrapper @move> @move;
          }
@@ -744,17 +871,21 @@ class Dummy.Test_Object extends Efl.Object implements 
Dummy.Test_Iface {
       }
 
       eina_list_obj_return {
+         [[No description supplied.]]
          return: list<Dummy.Numberwrapper>;
       }
       check_eina_list_obj_return {
+         [[No description supplied.]]
          return: bool;
       }
 
       eina_list_obj_return_own {
+         [[No description supplied.]]
          return: list<Dummy.Numberwrapper @move> @move;
       }
 
       eina_list_obj_return_in {
+         [[No description supplied.]]
          params {
             @in lst: list<Dummy.Numberwrapper>;
          }
@@ -765,6 +896,7 @@ class Dummy.Test_Object extends Efl.Object implements 
Dummy.Test_Iface {
 
       // Integer //
       eina_hash_int_in @beta {
+         [[No description supplied.]]
          params {
             @in hsh: hash<int, int>;
          }
@@ -773,56 +905,67 @@ class Dummy.Test_Object extends Efl.Object implements 
Dummy.Test_Iface {
 
       /*
       eina_hash_int_in_own @beta {
+         [[No description supplied.]]
          params {
             @in hsh: hash<int, int> @move; // <, int @move>
          }
          return: bool;
       }
       check_eina_hash_int_in_own {
+         [[No description supplied.]]
          return: bool;
       }
       */
 
       eina_hash_int_out @beta {
+         [[No description supplied.]]
          params {
             @out hsh: hash<int, int>;
          }
          return: bool;
       }
       check_eina_hash_int_out @beta {
+         [[No description supplied.]]
          return: bool;
       }
 
       /*
       eina_hash_int_out_own @beta {
+         [[No description supplied.]]
          params {
             @out hsh: hash<int, int> @move; // <, int @move>
          }
          return: bool;
       }
       check_eina_hash_int_out_own @beta {
+         [[No description supplied.]]
          return: bool;
       }
       */
 
       eina_hash_int_return @beta {
+         [[No description supplied.]]
          return: hash<int, int>;
       }
       check_eina_hash_int_return @beta {
+         [[No description supplied.]]
          return: bool;
       }
 
       /*
       eina_hash_int_return_own @beta {
+         [[No description supplied.]]
          return: hash<int, int> @move; // <, int @move>
       }
       check_eina_hash_int_return_own @beta {
+         [[No description supplied.]]
          return: bool;
       }
       */
 
       // String //
       eina_hash_str_in @beta {
+         [[No description supplied.]]
          params {
             @in hsh: hash<string, string>;
          }
@@ -830,51 +973,62 @@ class Dummy.Test_Object extends Efl.Object implements 
Dummy.Test_Iface {
       }
 
       eina_hash_str_in_own @beta {
+         [[No description supplied.]]
          params {
             @in hsh: hash<string, mstring @move> @move;
          }
          return: bool;
       }
       check_eina_hash_str_in_own @beta {
+         [[No description supplied.]]
          return: bool;
       }
 
       eina_hash_str_out @beta {
+         [[No description supplied.]]
          params {
             @out hsh: hash<string, string>;
          }
          return: bool;
       }
       check_eina_hash_str_out @beta {
+         [[No description supplied.]]
          return: bool;
       }
 
       eina_hash_str_out_own @beta {
+         [[No description supplied.]]
          params {
             @out hsh: hash<string, mstring @move> @move;
          }
          return: bool;
       }
       check_eina_hash_str_out_own @beta {
+         [[No description supplied.]]
          return: bool;
       }
 
       eina_hash_str_return @beta {
+         [[No description supplied.]]
          return: hash<string, string>;
       }
       check_eina_hash_str_return @beta {
+         [[No description supplied.]]
          return: bool;
       }
 
       eina_hash_str_return_own @beta {
+         [[No description supplied.]]
          return: hash<string, mstring @move> @move;
       }
       check_eina_hash_str_return_own @beta {
+         [[No description supplied.]]
          return: bool;
       }
 
       // Eina_Stringshare //
       eina_hash_strshare_in @beta {
+         [[No description supplied.]]
          params {
             @in hsh: hash<stringshare, stringshare>;
          }
@@ -882,51 +1036,62 @@ class Dummy.Test_Object extends Efl.Object implements 
Dummy.Test_Iface {
       }
 
       eina_hash_strshare_in_own @beta {
+         [[No description supplied.]]
          params {
             @in hsh: hash<stringshare, stringshare @move> @move;
          }
          return: bool;
       }
       check_eina_hash_strshare_in_own @beta {
+         [[No description supplied.]]
          return: bool;
       }
 
       eina_hash_strshare_out @beta {
+         [[No description supplied.]]
          params {
             @out hsh: hash<stringshare, stringshare>;
          }
          return: bool;
       }
       check_eina_hash_strshare_out @beta {
+         [[No description supplied.]]
          return: bool;
       }
 
       eina_hash_strshare_out_own @beta {
+         [[No description supplied.]]
          params {
             @out hsh: hash<stringshare, stringshare @move> @move;
          }
          return: bool;
       }
       check_eina_hash_strshare_out_own @beta {
+         [[No description supplied.]]
          return: bool;
       }
 
       eina_hash_strshare_return @beta {
+         [[No description supplied.]]
          return: hash<stringshare, stringshare>;
       }
       check_eina_hash_strshare_return @beta {
+         [[No description supplied.]]
          return: bool;
       }
 
       eina_hash_strshare_return_own @beta {
+         [[No description supplied.]]
          return: hash<stringshare, stringshare @move> @move;
       }
       check_eina_hash_strshare_return_own @beta {
+         [[No description supplied.]]
          return: bool;
       }
 
       // Object //
       eina_hash_obj_in @beta {
+         [[No description supplied.]]
          params {
             @in hsh: hash<Dummy.Numberwrapper, Dummy.Numberwrapper>;
             @in nwk1: Dummy.Numberwrapper;
@@ -938,6 +1103,7 @@ class Dummy.Test_Object extends Efl.Object implements 
Dummy.Test_Iface {
       }
 
       eina_hash_obj_in_own @beta {
+         [[No description supplied.]]
          params {
             @in hsh: hash<Dummy.Numberwrapper, Dummy.Numberwrapper @move> 
@move;
             @in nwk1: Dummy.Numberwrapper;
@@ -948,6 +1114,7 @@ class Dummy.Test_Object extends Efl.Object implements 
Dummy.Test_Iface {
          return: bool;
       }
       check_eina_hash_obj_in_own @beta {
+         [[No description supplied.]]
          params {
             @in nwk1: Dummy.Numberwrapper;
             @in nwv1: Dummy.Numberwrapper;
@@ -958,6 +1125,7 @@ class Dummy.Test_Object extends Efl.Object implements 
Dummy.Test_Iface {
       }
 
       eina_hash_obj_out @beta {
+         [[No description supplied.]]
          params {
             @out hsh: hash<Dummy.Numberwrapper, Dummy.Numberwrapper>;
             @out nwk: Dummy.Numberwrapper;
@@ -966,6 +1134,7 @@ class Dummy.Test_Object extends Efl.Object implements 
Dummy.Test_Iface {
          return: bool;
       }
       check_eina_hash_obj_out @beta {
+         [[No description supplied.]]
          params {
             @in nwk1: Dummy.Numberwrapper;
             @in nwv1: Dummy.Numberwrapper;
@@ -976,6 +1145,7 @@ class Dummy.Test_Object extends Efl.Object implements 
Dummy.Test_Iface {
       }
 
       eina_hash_obj_out_own @beta {
+         [[No description supplied.]]
          params {
             @out hsh: hash<Dummy.Numberwrapper, Dummy.Numberwrapper @move> 
@move;
             @out nwk: Dummy.Numberwrapper;
@@ -984,10 +1154,12 @@ class Dummy.Test_Object extends Efl.Object implements 
Dummy.Test_Iface {
          return: bool;
       }
       check_eina_hash_obj_out_own @beta {
+         [[No description supplied.]]
          return: bool;
       }
 
       eina_hash_obj_return @beta {
+         [[No description supplied.]]
          params {
             @out nwk: Dummy.Numberwrapper;
             @out nwv: Dummy.Numberwrapper;
@@ -995,6 +1167,7 @@ class Dummy.Test_Object extends Efl.Object implements 
Dummy.Test_Iface {
          return: hash<Dummy.Numberwrapper, Dummy.Numberwrapper>;
       }
       check_eina_hash_obj_return @beta {
+         [[No description supplied.]]
          params {
             @in nwk1: Dummy.Numberwrapper;
             @in nwv1: Dummy.Numberwrapper;
@@ -1005,6 +1178,7 @@ class Dummy.Test_Object extends Efl.Object implements 
Dummy.Test_Iface {
       }
 
       eina_hash_obj_return_own @beta {
+         [[No description supplied.]]
          params {
             @out nwk: Dummy.Numberwrapper;
             @out nwv: Dummy.Numberwrapper;
@@ -1012,6 +1186,7 @@ class Dummy.Test_Object extends Efl.Object implements 
Dummy.Test_Iface {
          return: hash<Dummy.Numberwrapper, Dummy.Numberwrapper @move> @move;
       }
       check_eina_hash_obj_return_own @beta {
+         [[No description supplied.]]
          return: bool;
       }
 
@@ -1019,6 +1194,7 @@ class Dummy.Test_Object extends Efl.Object implements 
Dummy.Test_Iface {
 
       /* Integer */
       eina_iterator_int_in {
+         [[No description supplied.]]
          params {
             @in itr: iterator<int>;
          }
@@ -1026,26 +1202,31 @@ class Dummy.Test_Object extends Efl.Object implements 
Dummy.Test_Iface {
       }
 
       eina_iterator_int_in_own {
+         [[No description supplied.]]
          params {
             @in itr: iterator<int> @move;
          }
          return: bool;
       }
       check_eina_iterator_int_in_own {
+         [[No description supplied.]]
          return: bool;
       }
 
       eina_iterator_int_out {
+         [[No description supplied.]]
          params {
             @out itr: iterator<int>;
          }
          return: bool;
       }
       check_eina_iterator_int_out {
+         [[No description supplied.]]
          return: bool;
       }
 
       eina_iterator_int_out_own {
+         [[No description supplied.]]
          params {
             @out itr: iterator<int> @move;
          }
@@ -1053,18 +1234,22 @@ class Dummy.Test_Object extends Efl.Object implements 
Dummy.Test_Iface {
       }
 
       eina_iterator_int_return {
+         [[No description supplied.]]
          return: iterator<int>;
       }
       check_eina_iterator_int_return {
+         [[No description supplied.]]
          return: bool;
       }
 
       eina_iterator_int_return_own {
+         [[No description supplied.]]
          return: iterator<int> @move;
       }
 
       /* String */
       eina_iterator_str_in {
+         [[No description supplied.]]
          params {
             @in itr: iterator<string>;
          }
@@ -1072,26 +1257,31 @@ class Dummy.Test_Object extends Efl.Object implements 
Dummy.Test_Iface {
       }
 
       eina_iterator_str_in_own {
+         [[No description supplied.]]
          params {
             @in itr: iterator<mstring> @move;
          }
          return: bool;
       }
       check_eina_iterator_str_in_own {
+         [[No description supplied.]]
          return: bool;
       }
 
       eina_iterator_str_out {
+         [[No description supplied.]]
          params {
             @out itr: iterator<string>;
          }
          return: bool;
       }
       check_eina_iterator_str_out {
+         [[No description supplied.]]
          return: bool;
       }
 
       eina_iterator_str_out_own {
+         [[No description supplied.]]
          params {
             @out itr: iterator<mstring> @move;
          }
@@ -1099,18 +1289,22 @@ class Dummy.Test_Object extends Efl.Object implements 
Dummy.Test_Iface {
       }
 
       eina_iterator_str_return {
+         [[No description supplied.]]
          return: iterator<string>;
       }
       check_eina_iterator_str_return {
+         [[No description supplied.]]
          return: bool;
       }
 
       eina_iterator_str_return_own {
+         [[No description supplied.]]
          return: iterator<mstring> @move;
       }
 
       /* Eina_Stringshare */
       eina_iterator_strshare_in {
+         [[No description supplied.]]
          params {
             @in itr: iterator<stringshare>;
          }
@@ -1118,26 +1312,31 @@ class Dummy.Test_Object extends Efl.Object implements 
Dummy.Test_Iface {
       }
 
       eina_iterator_strshare_in_own {
+         [[No description supplied.]]
          params {
             @in itr: iterator<stringshare> @move;
          }
          return: bool;
       }
       check_eina_iterator_strshare_in_own {
+         [[No description supplied.]]
          return: bool;
       }
 
       eina_iterator_strshare_out {
+         [[No description supplied.]]
          params {
             @out itr: iterator<stringshare>;
          }
          return: bool;
       }
       check_eina_iterator_strshare_out {
+         [[No description supplied.]]
          return: bool;
       }
 
       eina_iterator_strshare_out_own {
+         [[No description supplied.]]
          params {
             @out itr: iterator<stringshare> @move;
          }
@@ -1145,18 +1344,22 @@ class Dummy.Test_Object extends Efl.Object implements 
Dummy.Test_Iface {
       }
 
       eina_iterator_strshare_return {
+         [[No description supplied.]]
          return: iterator<stringshare>;
       }
       check_eina_iterator_strshare_return {
+         [[No description supplied.]]
          return: bool;
       }
 
       eina_iterator_strshare_return_own {
+         [[No description supplied.]]
          return: iterator<stringshare> @move;
       }
 
       /* Object */
       eina_iterator_obj_in {
+         [[No description supplied.]]
          params {
             @in itr: iterator<Dummy.Numberwrapper>;
          }
@@ -1164,26 +1367,31 @@ class Dummy.Test_Object extends Efl.Object implements 
Dummy.Test_Iface {
       }
 
       eina_iterator_obj_in_own {
+         [[No description supplied.]]
          params {
             @in itr: iterator<Dummy.Numberwrapper> @move;
          }
          return: bool;
       }
       check_eina_iterator_obj_in_own {
+         [[No description supplied.]]
          return: bool;
       }
 
       eina_iterator_obj_out {
+         [[No description supplied.]]
          params {
             @out itr: iterator<Dummy.Numberwrapper>;
          }
          return: bool;
       }
       check_eina_iterator_obj_out {
+         [[No description supplied.]]
          return: bool;
       }
 
       eina_iterator_obj_out_own {
+         [[No description supplied.]]
          params {
             @out itr: iterator<Dummy.Numberwrapper> @move;
          }
@@ -1191,25 +1399,30 @@ class Dummy.Test_Object extends Efl.Object implements 
Dummy.Test_Iface {
       }
 
       eina_iterator_obj_return {
+         [[No description supplied.]]
          return: iterator<Dummy.Numberwrapper>;
       }
       check_eina_iterator_obj_return {
+         [[No description supplied.]]
          return: bool;
       }
 
       eina_iterator_obj_return_own {
+         [[No description supplied.]]
          return: iterator<Dummy.Numberwrapper> @move;
       }
 
      /* Function Pointer */
 
      set_callback {
+        [[No description supplied.]]
          params {
             cb: Dummy.SimpleCb;
          }
       }
 
       call_callback {
+         [[No description supplied.]]
          params {
             a: int;
          }
@@ -1217,59 +1430,68 @@ class Dummy.Test_Object extends Efl.Object implements 
Dummy.Test_Iface {
       }
 
       call_set_callback {
+         [[No description supplied.]]
       }
 
       raises_eina_error {
-
+         [[No description supplied.]]
       }
 
       children_raise_error {
-
+         [[No description supplied.]]
       }
       call_children_raise_error {
-
+         [[No description supplied.]]
       }
 
       error_ret_set {
+         [[No description supplied.]]
          params {
             error: Eina.Error;
          }
       }
 
       returns_error {
+         [[No description supplied.]]
          return: Eina.Error;
       }
 
       /* Eina Values */
       set_value_ptr {
+         [[No description supplied.]]
          params {
             value: any_value_ref;
          }
       }
 
       set_value_ptr_own {
+         [[No description supplied.]]
          params {
             value: any_value_ref @move;
          }
       }
 
       set_value {
+         [[No description supplied.]]
          params {
             value: any_value;
          }
       }
 
       call_set_value {
+         [[No description supplied.]]
          params {
             value: const(any_value);
          }
       }
 
       get_value_ptr_own {
+         [[No description supplied.]]
          return: any_value_ref @move;
       }
 
       get_value_ptr {
+         [[No description supplied.]]
          return: any_value_ref;
       }
 
@@ -1278,26 +1500,31 @@ class Dummy.Test_Object extends Efl.Object implements 
Dummy.Test_Iface {
        * leading to compiler errors.
        */
       /* get_value {
+         [[No description supplied.]]
          return: any_value;
       }
       */
 
       clear_value {
+         [[No description supplied.]]
       }
 
       out_value_ptr {
+         [[No description supplied.]]
          params {
             @out value: any_value_ref;
          }
       }
 
       out_value_ptr_own {
+         [[No description supplied.]]
          params {
             @out value: any_value_ref @move;
          }
       }
 
       out_value {
+         [[No description supplied.]]
          params {
             @out value: any_value;
          }
@@ -1306,6 +1533,7 @@ class Dummy.Test_Object extends Efl.Object implements 
Dummy.Test_Iface {
       /* Structs */
 
       struct_simple_in {
+         [[No description supplied.]]
          params {
             @in simple: Dummy.StructSimple;
          }
@@ -1314,6 +1542,7 @@ class Dummy.Test_Object extends Efl.Object implements 
Dummy.Test_Iface {
 
       /*
       struct_simple_ptr_in {
+         [[No description supplied.]]
          params {
             @in simple: ptr(Dummy.StructSimple);
          }
@@ -1321,6 +1550,7 @@ class Dummy.Test_Object extends Efl.Object implements 
Dummy.Test_Iface {
       }
 
       struct_simple_ptr_in_own {
+         [[No description supplied.]]
          params {
             @in simple: ptr(Dummy.StructSimple) @move;
          }
@@ -1329,6 +1559,7 @@ class Dummy.Test_Object extends Efl.Object implements 
Dummy.Test_Iface {
       */
 
       struct_simple_out {
+         [[No description supplied.]]
          params {
             @out simple: Dummy.StructSimple;
          }
@@ -1337,6 +1568,7 @@ class Dummy.Test_Object extends Efl.Object implements 
Dummy.Test_Iface {
 
       /*
       struct_simple_ptr_out {
+         [[No description supplied.]]
          params {
             @out simple: ptr(Dummy.StructSimple);
          }
@@ -1344,6 +1576,7 @@ class Dummy.Test_Object extends Efl.Object implements 
Dummy.Test_Iface {
       }
 
       struct_simple_ptr_out_own {
+         [[No description supplied.]]
          params {
             @out simple: ptr(Dummy.StructSimple) @move;
          }
@@ -1352,20 +1585,24 @@ class Dummy.Test_Object extends Efl.Object implements 
Dummy.Test_Iface {
       */
 
       struct_simple_return {
+         [[No description supplied.]]
          return: Dummy.StructSimple;
       }
 
       /*
       struct_simple_ptr_return {
+         [[No description supplied.]]
          return: ptr(Dummy.StructSimple);
       }
 
       struct_simple_ptr_return_own {
+         [[No description supplied.]]
          return: ptr(Dummy.StructSimple) @move;
       }
       */
 
       call_struct_simple_in {
+         [[No description supplied.]]
          params {
             @in simple: Dummy.StructSimple;
          }
@@ -1373,12 +1610,14 @@ class Dummy.Test_Object extends Efl.Object implements 
Dummy.Test_Iface {
 
       /*
       call_struct_simple_ptr_in {
+         [[No description supplied.]]
          params {
             @in simple: ptr(Dummy.StructSimple);
          }
       }
 
       call_struct_simple_ptr_in_own {
+         [[No description supplied.]]
          params {
             @in simple: ptr(Dummy.StructSimple) @move;
          }
@@ -1386,6 +1625,7 @@ class Dummy.Test_Object extends Efl.Object implements 
Dummy.Test_Iface {
       */
 
       call_struct_simple_out {
+         [[No description supplied.]]
          params {
             @out simple: Dummy.StructSimple;
          }
@@ -1393,12 +1633,14 @@ class Dummy.Test_Object extends Efl.Object implements 
Dummy.Test_Iface {
 
       /*
       call_struct_simple_ptr_out {
+         [[No description supplied.]]
          params {
             @out simple: ptr(Dummy.StructSimple);
          }
       }
 
       call_struct_simple_ptr_out_own {
+         [[No description supplied.]]
          params {
             @out simple: ptr(Dummy.StructSimple) @move;
          }
@@ -1406,20 +1648,24 @@ class Dummy.Test_Object extends Efl.Object implements 
Dummy.Test_Iface {
       */
 
       call_struct_simple_return {
+         [[No description supplied.]]
          return: Dummy.StructSimple;
       }
 
       /*
       call_struct_simple_ptr_return {
+         [[No description supplied.]]
          return: ptr(Dummy.StructSimple);
       }
 
       call_struct_simple_ptr_return_own {
+         [[No description supplied.]]
          return: ptr(Dummy.StructSimple) @move;
       }
       */
 
       struct_complex_in @beta {
+         [[No description supplied.]]
          params {
             @in complex: Dummy.StructComplex;
          }
@@ -1428,6 +1674,7 @@ class Dummy.Test_Object extends Efl.Object implements 
Dummy.Test_Iface {
 
       /*
       struct_complex_ptr_in @beta {
+         [[No description supplied.]]
          params {
             @in complex: ptr(Dummy.StructComplex);
          }
@@ -1435,6 +1682,7 @@ class Dummy.Test_Object extends Efl.Object implements 
Dummy.Test_Iface {
       }
 
       struct_complex_ptr_in_own @beta {
+         [[No description supplied.]]
          params {
             @in complex: ptr(Dummy.StructComplex) @move;
          }
@@ -1443,6 +1691,7 @@ class Dummy.Test_Object extends Efl.Object implements 
Dummy.Test_Iface {
       */
 
       struct_complex_out @beta {
+         [[No description supplied.]]
          params {
             @out complex: Dummy.StructComplex;
          }
@@ -1464,6 +1713,7 @@ class Dummy.Test_Object extends Efl.Object implements 
Dummy.Test_Iface {
       // }
 
       struct_complex_return @beta {
+         [[No description supplied.]]
          return: Dummy.StructComplex;
       }
 
@@ -1476,69 +1726,82 @@ class Dummy.Test_Object extends Efl.Object implements 
Dummy.Test_Iface {
       // }
 
       emit_event_with_string {
+         [[No description supplied.]]
          params {
             @in data: string;
          }
       }
       emit_event_with_bool {
+         [[No description supplied.]]
          params {
             @in data: bool;
          }
       }
       emit_event_with_int {
+         [[No description supplied.]]
          params {
             @in data: int;
          }
       }
       emit_event_with_uint {
+         [[No description supplied.]]
          params {
             @in data: uint;
          }
       }
       emit_event_with_float {
+         [[No description supplied.]]
          params {
             @in data: float;
          }
       }
       emit_event_with_double {
+         [[No description supplied.]]
          params {
             @in data: double;
          }
       }
       emit_event_with_obj {
+         [[No description supplied.]]
          params {
             @in data: Dummy.Test_Object;
          }
       }
 
       emit_event_with_error {
+         [[No description supplied.]]
          params {
             @in data: Eina.Error;
          }
       }
 
       emit_event_with_struct {
+         [[No description supplied.]]
          params {
             @in data: Dummy.StructSimple;
          }
       }
 
       emit_event_with_struct_complex @beta {
+         [[No description supplied.]]
          params {
             @in data: Dummy.StructComplex;
          }
       }
 
       emit_event_with_array {
+         [[No description supplied.]]
          params {
             @in data: array<string>;
          }
       }
 
       emit_event_with_under {
+         [[No description supplied.]]
       }
 
       append_to_strbuf {
+         [[No description supplied.]]
          params {
             @in buf: strbuf;
             @in str: string;
@@ -1546,6 +1809,7 @@ class Dummy.Test_Object extends Efl.Object implements 
Dummy.Test_Iface {
       }
 
       call_append_to_strbuf {
+         [[No description supplied.]]
          params {
             @in buf: strbuf;
             @in str: string;
@@ -1553,6 +1817,7 @@ class Dummy.Test_Object extends Efl.Object implements 
Dummy.Test_Iface {
       }
 
       call_format_cb {
+         [[No description supplied.]]
          params {
             @in str: strbuf;
             @in value: const(any_value);
@@ -1561,6 +1826,7 @@ class Dummy.Test_Object extends Efl.Object implements 
Dummy.Test_Iface {
       }
 
       bypass_typedef {
+         [[No description supplied.]]
          params {
             @in data: Dummy.MyInt;
             @out receiver: Dummy.MyInt;
@@ -1570,6 +1836,7 @@ class Dummy.Test_Object extends Efl.Object implements 
Dummy.Test_Iface {
       }
 
       @property multi_valued_prop {
+         [[No description supplied.]]
          get {}
          set {}
          values {
@@ -1579,6 +1846,7 @@ class Dummy.Test_Object extends Efl.Object implements 
Dummy.Test_Iface {
       }
 
       @property klass_prop @static {
+         [[No description supplied.]]
          get {}
          set {}
          values {
@@ -1587,24 +1855,29 @@ class Dummy.Test_Object extends Efl.Object implements 
Dummy.Test_Iface {
       }
 
       create_cmp_array_objects @static {
+         [[No description supplied.]]
       }
 
       destroy_cmp_array_objects @static {
+         [[No description supplied.]]
       }
 
       /* Futures */
 
       get_future {
+         [[No description supplied.]]
          return: future<any_value_ref>;
       }
 
       fulfill_promise {
+         [[No description supplied.]]
          params {
             @in data: int;
          }
       }
 
       reject_promise {
+         [[No description supplied.]]
          params {
             @in error: Eina.Error;
          }
@@ -1612,6 +1885,7 @@ class Dummy.Test_Object extends Efl.Object implements 
Dummy.Test_Iface {
 
       /* Accessors */
       clone_accessor {
+         [[No description supplied.]]
          params {
             @in acc: accessor<int>;
          }
@@ -1619,6 +1893,7 @@ class Dummy.Test_Object extends Efl.Object implements 
Dummy.Test_Iface {
       }
 
       @property setter_only {
+         [[No description supplied.]]
          set {}
          values {
            prop: int;
@@ -1626,10 +1901,12 @@ class Dummy.Test_Object extends Efl.Object implements 
Dummy.Test_Iface {
       }
 
       get_setter_only {
+         [[No description supplied.]]
          return: int;
       }
 
       call_find_provider {
+         [[No description supplied.]]
          params {
             @in type: const(Efl.Class);
          }
@@ -1637,10 +1914,12 @@ class Dummy.Test_Object extends Efl.Object implements 
Dummy.Test_Iface {
       }
 
       call_find_provider_for_iface {
+         [[No description supplied.]]
          return: Efl.Object;
       }
 
       mirror_value_type @beta @const {
+         [[No description supplied.]]
          params {
             @in type: const(ptr(Eina.Value_Type));
          }
@@ -1648,6 +1927,7 @@ class Dummy.Test_Object extends Efl.Object implements 
Dummy.Test_Iface {
       }
 
       @property hidden_object {
+         [[No description supplied.]]
          get {}
 
          values {
@@ -1668,42 +1948,42 @@ class Dummy.Test_Object extends Efl.Object implements 
Dummy.Test_Iface {
       Dummy.Test_Iface.call_method_protected;
    }
    events {
-      evt,with,string @hot: string;
-      evt,with,bool: bool;
-      evt,with,int @hot: int;
-      evt,with,uint @hot: uint;
-      evt,with,float @hot: float;
-      evt,with,double @hot: double;
-      evt,with,obj @hot: Dummy.Test_Object;
-      evt,with,error @hot: Eina.Error;
-      evt,with,struct @hot: Dummy.StructSimple;
-      evt,with,struct,complex @beta @hot: Dummy.StructComplex;
-      evt,with,array @hot: const(array<string>);
-      evt_with,under @hot: void;
+      evt,with,string @hot: string; [[No description supplied.]]
+      evt,with,bool: bool; [[No description supplied.]]
+      evt,with,int @hot: int; [[No description supplied.]]
+      evt,with,uint @hot: uint; [[No description supplied.]]
+      evt,with,float @hot: float; [[No description supplied.]]
+      evt,with,double @hot: double; [[No description supplied.]]
+      evt,with,obj @hot: Dummy.Test_Object; [[No description supplied.]]
+      evt,with,error @hot: Eina.Error; [[No description supplied.]]
+      evt,with,struct @hot: Dummy.StructSimple; [[No description supplied.]]
+      evt,with,struct,complex @beta @hot: Dummy.StructComplex; [[No 
description supplied.]]
+      evt,with,array @hot: const(array<string>); [[No description supplied.]]
+      evt_with,under @hot: void; [[No description supplied.]]
 
       // Extra events to test generation, but not invocation
-      evt,with,byte: byte;
-      evt,with,ubyte: ubyte;
+      evt,with,byte: byte; [[No description supplied.]]
+      evt,with,ubyte: ubyte; [[No description supplied.]]
 
-      evt,with,char: char;
+      evt,with,char: char; [[No description supplied.]]
 
-      evt,with,short: short;
-      evt,with,ushort: ushort;
+      evt,with,short: short; [[No description supplied.]]
+      evt,with,ushort: ushort; [[No description supplied.]]
 
-      evt,with,llong: llong;
-      evt,with,ullong: ullong;
+      evt,with,llong: llong; [[No description supplied.]]
+      evt,with,ullong: ullong; [[No description supplied.]]
 
-      evt,with,int8 @hot: int8;
-      evt,with,uint8 @hot: uint8;
+      evt,with,int8 @hot: int8; [[No description supplied.]]
+      evt,with,uint8 @hot: uint8; [[No description supplied.]]
 
-      evt,with,int16 @hot: int16;
-      evt,with,uint16 @hot: uint16;
+      evt,with,int16 @hot: int16; [[No description supplied.]]
+      evt,with,uint16 @hot: uint16; [[No description supplied.]]
 
-      evt,with,int32 @hot: int32;
-      evt,with,uint32 @hot: uint32;
+      evt,with,int32 @hot: int32; [[No description supplied.]]
+      evt,with,uint32 @hot: uint32; [[No description supplied.]]
 
-      evt,with,int64 @hot: int64;
-      evt,with,uint64 @hot: uint64;
+      evt,with,int64 @hot: int64; [[No description supplied.]]
+      evt,with,uint64 @hot: uint64; [[No description supplied.]]
 
    }
 }
diff --git a/src/tests/eina_cxx/eina_simple.eo 
b/src/tests/eina_cxx/eina_simple.eo
index 4034dd6642..09a1b2ff56 100644
--- a/src/tests/eina_cxx/eina_simple.eo
+++ b/src/tests/eina_cxx/eina_simple.eo
@@ -1,5 +1,6 @@
 class Eina_Simple extends Efl.Object
 {
+   [[No description supplied.]]
    data: null;
    implements {
       Efl.Object.constructor;
diff --git a/src/tests/elementary/focus_manager_test.eo 
b/src/tests/elementary/focus_manager_test.eo
index 5d334b1777..a329901c76 100644
--- a/src/tests/elementary/focus_manager_test.eo
+++ b/src/tests/elementary/focus_manager_test.eo
@@ -1,4 +1,4 @@
 class @beta Focus_Manager_Test extends Focus.Test implements 
Efl.Ui.Focus.Manager_Window_Root
 {
-
+   [[No description supplied.]]
 }
diff --git a/src/tests/elementary/focus_test.eo 
b/src/tests/elementary/focus_test.eo
index f6a1144a95..081b69d83a 100644
--- a/src/tests/elementary/focus_test.eo
+++ b/src/tests/elementary/focus_test.eo
@@ -2,13 +2,16 @@ class @beta Focus.Test
     extends Efl.Object
     implements Efl.Ui.Focus.Object, Efl.Gfx.Entity
 {
+    [[No description supplied.]]
     methods {
         test_size {
+            [[No description supplied.]]
             params {
                 rect : Eina.Rect;
             }
         }
         @property manager {
+            [[No description supplied.]]
             set {
 
             }
diff --git a/src/tests/elementary/focus_test_sub_main.eo 
b/src/tests/elementary/focus_test_sub_main.eo
index 280162301c..25520254d0 100644
--- a/src/tests/elementary/focus_test_sub_main.eo
+++ b/src/tests/elementary/focus_test_sub_main.eo
@@ -2,6 +2,7 @@ class @beta Focus.Test.Sub.Main
     extends Efl.Object
     implements Efl.Ui.Focus.Object, Efl.Ui.Focus.Manager_Sub, Efl.Gfx.Entity
 {
+    [[No description supplied.]]
     implements {
         Efl.Ui.Focus.Object.focus_manager { get; }
         Efl.Ui.Focus.Object.focus_parent { get; }
diff --git a/src/tests/eolian/data/base.eo b/src/tests/eolian/data/base.eo
index 4f1b93d518..f320068b0a 100644
--- a/src/tests/eolian/data/base.eo
+++ b/src/tests/eolian/data/base.eo
@@ -1,6 +1,8 @@
 abstract Base {
+   [[No description supplied.]]
    methods {
       @property z {
+         [[No description supplied.]]
            values {
                 a: int;
                 b: char;
@@ -8,8 +10,10 @@ abstract Base {
            }
       }
       constructor @pure_virtual {
+         [[No description supplied.]]
       }
       destructor {
+         [[No description supplied.]]
       }
    }
    constructors {
diff --git a/src/tests/eolian/data/class_funcs.eo 
b/src/tests/eolian/data/class_funcs.eo
index 087f380003..7cf7ed79b5 100644
--- a/src/tests/eolian/data/class_funcs.eo
+++ b/src/tests/eolian/data/class_funcs.eo
@@ -1,20 +1,27 @@
 class Class_Funcs {
+   [[No description supplied.]]
    methods {
       @property a @static {
+         [[No description supplied.]]
          get {
          }
       }
       @property b {
+         [[No description supplied.]]
          get {
          }
       }
       foo @static {
+         [[No description supplied.]]
       }
       bar {
+         [[No description supplied.]]
       }
       baz @protected @static {
+         [[No description supplied.]]
       }
       bah @protected {
+         [[No description supplied.]]
       }
    }
 }
diff --git a/src/tests/eolian/data/class_requires.eo 
b/src/tests/eolian/data/class_requires.eo
index ffbb4fef8d..7e6c044be6 100644
--- a/src/tests/eolian/data/class_requires.eo
+++ b/src/tests/eolian/data/class_requires.eo
@@ -2,7 +2,7 @@ import base;
 import mixins_require;
 
 class Class.Requires extends Base implements Mixins.Require {
+  [[No description supplied.]]
   methods {
-
   }
 }
diff --git a/src/tests/eolian/data/complex_type.eo 
b/src/tests/eolian/data/complex_type.eo
index 9cb6a1faf1..ef0b040099 100644
--- a/src/tests/eolian/data/complex_type.eo
+++ b/src/tests/eolian/data/complex_type.eo
@@ -1,6 +1,8 @@
 class Complex_Type {
+   [[No description supplied.]]
    methods {
       @property a {
+         [[No description supplied.]]
          set {
             return: list<array<strbuf @move> > @move;
          }
@@ -11,6 +13,7 @@ class Complex_Type {
          }
       }
       foo {
+         [[No description supplied.]]
          params {
             buf: mstring @move;
             sl: slice<ubyte>;
diff --git a/src/tests/eolian/data/consts.eo b/src/tests/eolian/data/consts.eo
index 9505e95387..e68bc4038b 100644
--- a/src/tests/eolian/data/consts.eo
+++ b/src/tests/eolian/data/consts.eo
@@ -1,4 +1,5 @@
 class Consts {
+   [[No description supplied.]]
    methods {
       foo @const {
          [[comment foo]]
diff --git a/src/tests/eolian/data/ctor_dtor.eo 
b/src/tests/eolian/data/ctor_dtor.eo
index 71bdcede81..97121de56d 100644
--- a/src/tests/eolian/data/ctor_dtor.eo
+++ b/src/tests/eolian/data/ctor_dtor.eo
@@ -1,14 +1,18 @@
 class Ctor_Dtor extends Base {
+   [[No description supplied.]]
    methods {
       custom_constructor_1 {
+         [[No description supplied.]]
          params {
             @in a: int;
             @in b: char;
          }
       }
       custom_constructor_2 {
+         [[No description supplied.]]
       }
       custom_constructor_3 {
+         [[No description supplied.]]
          params {
             @in z: int;
          }
diff --git a/src/tests/eolian/data/enum.eo b/src/tests/eolian/data/enum.eo
index 0cfc78dd42..5f98d5400c 100644
--- a/src/tests/eolian/data/enum.eo
+++ b/src/tests/eolian/data/enum.eo
@@ -1,23 +1,27 @@
 // regular named enum
 enum Foo {
+    [[No description supplied.]]
     first,
     bar,
     baz = 5 * 3
 }
 
 enum Baz {
+    [[No description supplied.]]
     flag1 = 1 << 0,
     flag2 = 1 << 1,
     flag3 = 1 << 2, // testing trailing comma on last item
 }
 
 enum Name.Spaced {
+    [[No description supplied.]]
     pants
 }
 
-const Bah: Baz = Baz.flag1;
+const Bah: Baz = Baz.flag1; [[No description supplied.]]
 
 enum Value {
+    [[No description supplied.]]
     foo,
     bar,
     baz = 2,
@@ -26,11 +30,13 @@ enum Value {
     pants
 }
 
-const Pants: Value = Value.pants;
+const Pants: Value = Value.pants; [[No description supplied.]]
 
 class Enum {
+    [[No description supplied.]]
     methods {
         foo {
+            [[No description supplied.]]
             params {
                 idx: int;
             }
diff --git a/src/tests/eolian/data/events.eo b/src/tests/eolian/data/events.eo
index 95b6a8f43c..5a90be3371 100644
--- a/src/tests/eolian/data/events.eo
+++ b/src/tests/eolian/data/events.eo
@@ -1,14 +1,16 @@
 struct Evas_Event_Clicked_Double_Info {
+   [[No description supplied.]]
    pants: int;
 }
 
 class Events {
+   [[No description supplied.]]
    event_c_prefix: totally_not_events;
    events {
       clicked @beta: void; [[Comment for clicked]]
-      clicked,double: Evas_Event_Clicked_Double_Info; /* No comment */
-      hot @hot: void;
-      restart @restart: void;
-      hot_restart @hot @restart: void;
+      clicked,double: Evas_Event_Clicked_Double_Info; [[No description 
supplied.]]
+      hot @hot: void; [[No description supplied.]]
+      restart @restart: void; [[No description supplied.]]
+      hot_restart @hot @restart: void; [[No description supplied.]]
    }
 }
diff --git a/src/tests/eolian/data/extern.eo b/src/tests/eolian/data/extern.eo
index 28ceb7e2aa..f5ae11bc61 100644
--- a/src/tests/eolian/data/extern.eo
+++ b/src/tests/eolian/data/extern.eo
@@ -1,24 +1,28 @@
 /* regular type */
-type Foo: int;
+type Foo: int; [[No description supplied.]]
 
 /* extern type */
-type @extern Evas.Coord: int;
+type @extern Evas.Coord: int; [[No description supplied.]]
 
 /* regular struct */
 struct X
 {
+   [[No description supplied.]]
    field: int;
 }
 
 /* extern struct */
 struct @extern Y
 {
+   [[No description supplied.]]
    field: int;
 }
 
 class Extern {
+   [[No description supplied.]]
    methods {
       foo {
+         [[No description supplied.]]
          params {
             idx: int;
          }
diff --git a/src/tests/eolian/data/free_func.eo 
b/src/tests/eolian/data/free_func.eo
index b10c74db6a..fb84cfc3f2 100644
--- a/src/tests/eolian/data/free_func.eo
+++ b/src/tests/eolian/data/free_func.eo
@@ -1,18 +1,22 @@
 /* regular struct */
 struct Named1 {
+    [[No description supplied.]]
     field: int;
 }
 struct @free(test_free) Named2 {
+    [[No description supplied.]]
     field: int;
 }
 
 /* opaque */
-struct Opaque1;
-struct @free(opaque_free) Opaque2;
+struct Opaque1; [[No description supplied.]]
+struct @free(opaque_free) Opaque2; [[No description supplied.]]
 
 class Free_Func {
+   [[No description supplied.]]
    methods {
       foo {
+         [[No description supplied.]]
          params {
             idx: int;
          }
diff --git a/src/tests/eolian/data/function_as_argument.eo 
b/src/tests/eolian/data/function_as_argument.eo
index 29b0f4b91c..ed9ab1c0ea 100644
--- a/src/tests/eolian/data/function_as_argument.eo
+++ b/src/tests/eolian/data/function_as_argument.eo
@@ -1,14 +1,17 @@
 import function_types;
 
 class Function_As_Argument {
+  [[No description supplied.]]
   methods {
     set_cb {
+      [[No description supplied.]]
       params {
         cb: SimpleFunc;
       }
     }
 
     call_cb {
+      [[No description supplied.]]
       params {
         a: int;
         b: double;
diff --git a/src/tests/eolian/data/function_as_argument_ref.h 
b/src/tests/eolian/data/function_as_argument_ref.h
index 2b677aefb3..7ebe24add1 100644
--- a/src/tests/eolian/data/function_as_argument_ref.h
+++ b/src/tests/eolian/data/function_as_argument_ref.h
@@ -13,12 +13,33 @@ typedef Eo Function_As_Argument;
 
 
 #endif
+/** No description supplied.
+ *
+ * @ingroup Function_As_Argument
+ */
 #define FUNCTION_AS_ARGUMENT_CLASS function_as_argument_class_get()
 
 EWAPI const Efl_Class *function_as_argument_class_get(void);
 
+/**
+ * @brief No description supplied.
+ *
+ * @param[in] obj The object.
+ * @param[in] cb
+ *
+ * @ingroup Function_As_Argument
+ */
 EOAPI void function_as_argument_set_cb(Eo *obj, void *cb_data, SimpleFunc cb, 
Eina_Free_Cb cb_free_cb);
 
+/**
+ * @brief No description supplied.
+ *
+ * @param[in] obj The object.
+ * @param[in] a
+ * @param[in] b
+ *
+ * @ingroup Function_As_Argument
+ */
 EOAPI char *function_as_argument_call_cb(Eo *obj, int a, double b) 
EFL_TRANSFER_OWNERSHIP;
 
 #endif
diff --git a/src/tests/eolian/data/function_types.eot 
b/src/tests/eolian/data/function_types.eot
index 5012d2e47b..fabae96bad 100644
--- a/src/tests/eolian/data/function_types.eot
+++ b/src/tests/eolian/data/function_types.eot
@@ -1,10 +1,12 @@
 
 // typedef void (*VoidFunc)(void *data);
 function VoidFunc {
+  [[No description supplied.]]
 };
 
 // typedef const char *(*SimpleFunc)(void *data, int a, double b);
 function SimpleFunc {
+  [[No description supplied.]]
   params {
     a: int;
     b: double;
@@ -14,6 +16,7 @@ function SimpleFunc {
 
 // typedef double (*ComplexFunc)(void *data, const char *a, const char **b);
 function ComplexFunc {
+  [[No description supplied.]]
   params {
     @in c: string;
     @out d: mstring @move;
@@ -23,6 +26,7 @@ function ComplexFunc {
 
 // typedef void (*FuncAsArgFunc)(void *data, VoidFunc cb, SimpleFunc 
another_cb);
 function FuncAsArgFunc {
+  [[No description supplied.]]
   params {
     cb: VoidFunc;
     another_cb: SimpleFunc;
diff --git a/src/tests/eolian/data/function_types_ref.h 
b/src/tests/eolian/data/function_types_ref.h
index 45564c6893..d94fa9938e 100644
--- a/src/tests/eolian/data/function_types_ref.h
+++ b/src/tests/eolian/data/function_types_ref.h
@@ -4,12 +4,28 @@
 #ifndef _FUNCTION_TYPES_EOT_TYPES
 #define _FUNCTION_TYPES_EOT_TYPES
 
+/** No description supplied.
+ *
+ * @ingroup VoidFunc
+ */
 typedef void (*VoidFunc)(void *data);
 
+/** No description supplied.
+ *
+ * @ingroup SimpleFunc
+ */
 typedef const char * (*SimpleFunc)(void *data, int a, double b);
 
+/** No description supplied.
+ *
+ * @ingroup ComplexFunc
+ */
 typedef double (*ComplexFunc)(void *data, const char *c, char **d 
EFL_TRANSFER_OWNERSHIP);
 
+/** No description supplied.
+ *
+ * @ingroup FuncAsArgFunc
+ */
 typedef void (*FuncAsArgFunc)(void *data, void *cb_data, VoidFunc cb, 
Eina_Free_Cb cb_free_cb, void *another_cb_data, SimpleFunc another_cb, 
Eina_Free_Cb another_cb_free_cb);
 
 
diff --git a/src/tests/eolian/data/iface.eo b/src/tests/eolian/data/iface.eo
index 153bc0f914..b16db371d9 100644
--- a/src/tests/eolian/data/iface.eo
+++ b/src/tests/eolian/data/iface.eo
@@ -1,6 +1,7 @@
 interface Iface {
+    [[No description supplied.]]
     methods {
-        foo {}
-        bar {}
+        foo { [[No description supplied.]] }
+        bar { [[No description supplied.]] }
     }
 }
diff --git a/src/tests/eolian/data/import.eo b/src/tests/eolian/data/import.eo
index 894842487d..bcc8d93252 100644
--- a/src/tests/eolian/data/import.eo
+++ b/src/tests/eolian/data/import.eo
@@ -1,8 +1,10 @@
 import import_types;
 
 class Import {
+   [[No description supplied.]]
    methods {
       foo {
+         [[No description supplied.]]
       }
    }
 }
\ No newline at end of file
diff --git a/src/tests/eolian/data/import_types.eot 
b/src/tests/eolian/data/import_types.eot
index bb8174507f..8a805cd455 100644
--- a/src/tests/eolian/data/import_types.eot
+++ b/src/tests/eolian/data/import_types.eot
@@ -1,5 +1,6 @@
-type Imported: int;
+type Imported: int; [[No description supplied.]]
 
 struct Imported_Struct {
+    [[No description supplied.]]
     foo: float;
 }
\ No newline at end of file
diff --git a/src/tests/eolian/data/import_types_ref.h 
b/src/tests/eolian/data/import_types_ref.h
index 19863ba53d..a2061b073e 100644
--- a/src/tests/eolian/data/import_types_ref.h
+++ b/src/tests/eolian/data/import_types_ref.h
@@ -4,8 +4,16 @@
 #ifndef _IMPORT_TYPES_EOT_TYPES
 #define _IMPORT_TYPES_EOT_TYPES
 
+/** No description supplied.
+ *
+ * @ingroup Imported
+ */
 typedef int Imported;
 
+/** No description supplied.
+ *
+ * @ingroup Imported_Struct
+ */
 typedef struct _Imported_Struct
 {
   float foo;
diff --git a/src/tests/eolian/data/mixins_require.eo 
b/src/tests/eolian/data/mixins_require.eo
index 474e1a3af1..fd4b571c68 100644
--- a/src/tests/eolian/data/mixins_require.eo
+++ b/src/tests/eolian/data/mixins_require.eo
@@ -2,9 +2,10 @@ import base;
 import class_simple;
 
 mixin Mixins.Require requires Base {
+  [[No description supplied.]]
   methods {
     test {
-
+       [[No description supplied.]]
     }
   }
   implements {
diff --git a/src/tests/eolian/data/nmsp1_class1.eo 
b/src/tests/eolian/data/nmsp1_class1.eo
index a494e5e1c5..cbd36bd46a 100644
--- a/src/tests/eolian/data/nmsp1_class1.eo
+++ b/src/tests/eolian/data/nmsp1_class1.eo
@@ -1,5 +1,6 @@
 class nmsp1.class1 extends nmsp1.nmsp11.class2 implements nmsp2.class1, no_nmsp
 {
+   [[No description supplied.]]
    implements {
       nmsp1.nmsp11.class2.a { set; }
       no_nmsp.foo;
diff --git a/src/tests/eolian/data/nmsp1_nmsp11_class2.eo 
b/src/tests/eolian/data/nmsp1_nmsp11_class2.eo
index 40c7b854b9..da69347c22 100644
--- a/src/tests/eolian/data/nmsp1_nmsp11_class2.eo
+++ b/src/tests/eolian/data/nmsp1_nmsp11_class2.eo
@@ -1,7 +1,9 @@
 abstract nmsp1.nmsp11.class2
 {
+   [[No description supplied.]]
    methods {
       @property a {
+         [[No description supplied.]]
          set @pure_virtual {
          }
       }
diff --git a/src/tests/eolian/data/nmsp2_class1.eo 
b/src/tests/eolian/data/nmsp2_class1.eo
index e92be95c1d..da756eb701 100644
--- a/src/tests/eolian/data/nmsp2_class1.eo
+++ b/src/tests/eolian/data/nmsp2_class1.eo
@@ -1,3 +1,4 @@
 mixin nmsp2.class1
 {
+   [[No description supplied.]]
 }
diff --git a/src/tests/eolian/data/no_nmsp.eo b/src/tests/eolian/data/no_nmsp.eo
index daf4313282..8a345b172c 100644
--- a/src/tests/eolian/data/no_nmsp.eo
+++ b/src/tests/eolian/data/no_nmsp.eo
@@ -1,7 +1,9 @@
 mixin no_nmsp
 {
+   [[No description supplied.]]
    methods {
       foo {
+         [[No description supplied.]]
       }
    }
 }
diff --git a/src/tests/eolian/data/object_impl.eo 
b/src/tests/eolian/data/object_impl.eo
index 7fe8ce2e24..3219be8f31 100644
--- a/src/tests/eolian/data/object_impl.eo
+++ b/src/tests/eolian/data/object_impl.eo
@@ -1,6 +1,8 @@
 abstract Object_Impl extends Base {
+   [[No description supplied.]]
    methods {
       @property a {
+         [[No description supplied.]]
          set {
             values {
                 value: const(list<string>);
@@ -17,6 +19,7 @@ abstract Object_Impl extends Base {
          }
       }
       @property b {
+         [[No description supplied.]]
          set {
          }
          get @pure_virtual {
@@ -27,12 +30,14 @@ abstract Object_Impl extends Base {
          }
       }
       constructor_1 {
+         [[No description supplied.]]
          params {
             @in a: int;
             @in b: char;
          }
       }
       constructor_2 {
+         [[No description supplied.]]
       }
       foo1 {
          [[comment foo]]
@@ -51,6 +56,7 @@ abstract Object_Impl extends Base {
          }
       }
       pure_foo3 @pure_virtual {
+         [[No description supplied.]]
          /* set as virtual pure - no implementation expected */
       }
    }
diff --git a/src/tests/eolian/data/object_impl_add.eo 
b/src/tests/eolian/data/object_impl_add.eo
index c1e82e2365..d235fa8549 100644
--- a/src/tests/eolian/data/object_impl_add.eo
+++ b/src/tests/eolian/data/object_impl_add.eo
@@ -1,8 +1,10 @@
 class Object_Impl_Add extends Base {
+   [[No description supplied.]]
    data: Object_Impl_Data;
 
    methods {
       @property c {
+         [[No description supplied.]]
          set {
          }
          get {
diff --git a/src/tests/eolian/data/override.eo 
b/src/tests/eolian/data/override.eo
index 4cee6008d3..9db3796acd 100644
--- a/src/tests/eolian/data/override.eo
+++ b/src/tests/eolian/data/override.eo
@@ -1,12 +1,15 @@
 abstract Override extends Base {
+   [[No description supplied.]]
    methods {
       @property a {
+         [[No description supplied.]]
          set @pure_virtual {
          }
          get {
          }
       }
       @property b {
+         [[No description supplied.]]
          set {
          }
          get {
@@ -21,6 +24,7 @@ abstract Override extends Base {
          }
       }
       @property c {
+         [[No description supplied.]]
          set {
          }
          get {
@@ -33,8 +37,10 @@ abstract Override extends Base {
          }
       }
       foo @pure_virtual {
+         [[No description supplied.]]
       }
       bar {
+           [[No description supplied.]]
            params {
                 @in idx: int;
                 @out a: int (250);
diff --git a/src/tests/eolian/data/parts.eo b/src/tests/eolian/data/parts.eo
index 26897e152d..6483732bc7 100644
--- a/src/tests/eolian/data/parts.eo
+++ b/src/tests/eolian/data/parts.eo
@@ -1,4 +1,5 @@
 class Parts extends Override {
+   [[No description supplied.]]
    parts {
       part1: Override; [[Part 1]]
       part2 @beta: Parts; [[Part 2]]
diff --git a/src/tests/eolian/data/scope.eo b/src/tests/eolian/data/scope.eo
index def94d1d08..75bd9bbcfc 100644
--- a/src/tests/eolian/data/scope.eo
+++ b/src/tests/eolian/data/scope.eo
@@ -1,24 +1,31 @@
 class Scope {
+   [[No description supplied.]]
    methods {
       @property a @protected {
+         [[No description supplied.]]
          get {
          }
       }
       @property b {
+         [[No description supplied.]]
          get {
          }
       }
       @property c {
+         [[No description supplied.]]
          get {
          }
          set @protected {
          }
       }
       foo {
+         [[No description supplied.]]
       }
       bar @protected {
+         [[No description supplied.]]
       }
       foobar {
+         [[No description supplied.]]
       }
    }
 }
diff --git a/src/tests/eolian/data/struct.eo b/src/tests/eolian/data/struct.eo
index 57f250bdbe..76a2033076 100644
--- a/src/tests/eolian/data/struct.eo
+++ b/src/tests/eolian/data/struct.eo
@@ -1,20 +1,24 @@
 struct Named {
+   [[No description supplied.]]
     field: int @by_ref;
     something: string;
 }
 
 struct Another {
+   [[No description supplied.]]
     field: Named;
 }
 
 /* opaque struct */
-struct Opaque;
+struct Opaque; [[No description supplied.]]
 
 struct @extern Not.Generated {
-    field: int;
+   [[No description supplied.]]
+   field: int;
 }
 
 class Struct {
+   [[No description supplied.]]
    methods {
       foo {
          [[Foo docs. This is $monospace. This is alone-standing $.]]
@@ -24,6 +28,7 @@ class Struct {
          return: mstring @move;
       }
       bar {
+         [[No description supplied.]]
          return: Named @by_ref;
       }
    }
diff --git a/src/tests/eolian/data/struct_ref.h 
b/src/tests/eolian/data/struct_ref.h
index ddcb20a752..782e884795 100644
--- a/src/tests/eolian/data/struct_ref.h
+++ b/src/tests/eolian/data/struct_ref.h
@@ -11,21 +11,37 @@ typedef Eo Struct;
 #ifndef _STRUCT_EO_TYPES
 #define _STRUCT_EO_TYPES
 
+/** No description supplied.
+ *
+ * @ingroup Named
+ */
 typedef struct _Named
 {
   int *field;
   const char *something;
 } Named;
 
+/** No description supplied.
+ *
+ * @ingroup Another
+ */
 typedef struct _Another
 {
   Named field;
 } Another;
 
+/** No description supplied.
+ *
+ * @ingroup Opaque
+ */
 typedef struct _Opaque Opaque;
 
 
 #endif
+/** No description supplied.
+ *
+ * @ingroup Struct
+ */
 #define STRUCT_CLASS struct_class_get()
 
 EWAPI const Efl_Class *struct_class_get(void);
@@ -40,6 +56,10 @@ EWAPI const Efl_Class *struct_class_get(void);
  */
 EOAPI char *struct_foo(Eo *obj, int idx) EFL_TRANSFER_OWNERSHIP;
 
+/** No description supplied.
+ *
+ * @ingroup Struct
+ */
 EOAPI Named *struct_bar(Eo *obj);
 
 #endif
diff --git a/src/tests/eolian/data/struct_ref_stub.h 
b/src/tests/eolian/data/struct_ref_stub.h
index 5ef89d3c1a..9750278a46 100644
--- a/src/tests/eolian/data/struct_ref_stub.h
+++ b/src/tests/eolian/data/struct_ref_stub.h
@@ -3,10 +3,22 @@
 
 typedef Eo Struct;
 
+/** No description supplied.
+ *
+ * @ingroup Named
+ */
 typedef struct _Named Named;
 
+/** No description supplied.
+ *
+ * @ingroup Another
+ */
 typedef struct _Another Another;
 
+/** No description supplied.
+ *
+ * @ingroup Opaque
+ */
 typedef struct _Opaque Opaque;
 
 
diff --git a/src/tests/eolian/data/typedef.eo b/src/tests/eolian/data/typedef.eo
index 916a39fcfc..8cca68112c 100644
--- a/src/tests/eolian/data/typedef.eo
+++ b/src/tests/eolian/data/typedef.eo
@@ -1,15 +1,16 @@
-type Evas.Coord: int; /* Simple type definition */
-type List_Objects: list<Typedef>; /* A little more complex */
+type Evas.Coord: int; [[No description supplied.]]
+type List_Objects: list<Typedef>; [[No description supplied.]]
 
-type Evas.Coord2: Evas.Coord;
-type Evas.Coord3: Evas.Coord2;
+type Evas.Coord2: Evas.Coord; [[No description supplied.]]
+type Evas.Coord3: Evas.Coord2; [[No description supplied.]]
 
-type @extern Evas.Pants: float; /* not generated */
+type @extern Evas.Pants: float; [[No description supplied.]]
 
-type @beta Undef: __undefined_type; /* not generated */
+type @beta Undef: __undefined_type; [[No description supplied.]]
 
 enum Elm.Object.Select_Mode
 {
+   [[No description supplied.]]
    default = 0,
    always,
    none,
@@ -18,8 +19,10 @@ enum Elm.Object.Select_Mode
 }
 
 class Typedef {
+   [[No description supplied.]]
    methods {
       foo {
+         [[No description supplied.]]
          params {
             idx: int;
          }
diff --git a/src/tests/eolian/data/typedef_ref.h 
b/src/tests/eolian/data/typedef_ref.h
index 524f803aee..76ad4b8a46 100644
--- a/src/tests/eolian/data/typedef_ref.h
+++ b/src/tests/eolian/data/typedef_ref.h
@@ -11,14 +11,34 @@ typedef Eo Typedef;
 #ifndef _TYPEDEF_EO_TYPES
 #define _TYPEDEF_EO_TYPES
 
+/** No description supplied.
+ *
+ * @ingroup Evas
+ */
 typedef int Evas_Coord;
 
+/** No description supplied.
+ *
+ * @ingroup List_Objects
+ */
 typedef Eina_List *List_Objects;
 
+/** No description supplied.
+ *
+ * @ingroup Evas
+ */
 typedef Evas_Coord Evas_Coord2;
 
+/** No description supplied.
+ *
+ * @ingroup Evas
+ */
 typedef Evas_Coord2 Evas_Coord3;
 
+/** No description supplied.
+ *
+ * @ingroup Elm_Object
+ */
 typedef enum
 {
   ELM_OBJECT_SELECT_MODE_DEFAULT = 0,
@@ -30,10 +50,22 @@ typedef enum
 
 
 #endif
+/** No description supplied.
+ *
+ * @ingroup Typedef
+ */
 #define TYPEDEF_CLASS typedef_class_get()
 
 EWAPI const Efl_Class *typedef_class_get(void);
 
+/**
+ * @brief No description supplied.
+ *
+ * @param[in] obj The object.
+ * @param[in] idx
+ *
+ * @ingroup Typedef
+ */
 EOAPI char *typedef_foo(Eo *obj, int idx) EFL_TRANSFER_OWNERSHIP;
 
 #endif
diff --git a/src/tests/eolian/data/typedef_ref_stub.h 
b/src/tests/eolian/data/typedef_ref_stub.h
index 0f6f4ec38b..08bd464e72 100644
--- a/src/tests/eolian/data/typedef_ref_stub.h
+++ b/src/tests/eolian/data/typedef_ref_stub.h
@@ -3,12 +3,28 @@
 
 typedef Eo Typedef;
 
+/** No description supplied.
+ *
+ * @ingroup Evas
+ */
 typedef int Evas_Coord;
 
+/** No description supplied.
+ *
+ * @ingroup List_Objects
+ */
 typedef Eina_List *List_Objects;
 
+/** No description supplied.
+ *
+ * @ingroup Evas
+ */
 typedef Evas_Coord Evas_Coord2;
 
+/** No description supplied.
+ *
+ * @ingroup Evas
+ */
 typedef Evas_Coord2 Evas_Coord3;
 
 
diff --git a/src/tests/eolian/data/unimpl.eo b/src/tests/eolian/data/unimpl.eo
index 1e11a85e93..b032502b13 100644
--- a/src/tests/eolian/data/unimpl.eo
+++ b/src/tests/eolian/data/unimpl.eo
@@ -1,4 +1,5 @@
 class Unimpl composites Iface {
+    [[No description supplied.]]
     implements {
         Iface.foo;
     }
diff --git a/src/tests/eolian/data/var.eo b/src/tests/eolian/data/var.eo
index 6424427ae0..b9914db292 100644
--- a/src/tests/eolian/data/var.eo
+++ b/src/tests/eolian/data/var.eo
@@ -1,9 +1,11 @@
 // regular constant
-const Foo: int = 5;
+const Foo: int = 5; [[No description supplied.]]
 
 class Var {
+   [[No description supplied.]]
    methods {
       foo {
+         [[No description supplied.]]
          params {
             idx: int;
          }
diff --git a/src/tests/eolian/data_aux/aux_a.eo 
b/src/tests/eolian/data_aux/aux_a.eo
index b79d8877e3..284db639c1 100644
--- a/src/tests/eolian/data_aux/aux_a.eo
+++ b/src/tests/eolian/data_aux/aux_a.eo
@@ -1,9 +1,10 @@
 class Aux_A extends Aux_C  {
+    [[No description supplied.]]
     methods {
-        baz {}
+        baz { [[No description supplied.]] }
     }
     events {
-        test2: void;
+        test2: void; [[No description supplied.]]
     }
     implements {
         Aux_C.foo;
diff --git a/src/tests/eolian/data_aux/aux_b.eo 
b/src/tests/eolian/data_aux/aux_b.eo
index 728c465790..0d2fe134ba 100644
--- a/src/tests/eolian/data_aux/aux_b.eo
+++ b/src/tests/eolian/data_aux/aux_b.eo
@@ -1,2 +1,3 @@
 class Aux_B extends Aux_C  {
+    [[No description supplied.]]
 }
diff --git a/src/tests/eolian/data_aux/aux_c.eo 
b/src/tests/eolian/data_aux/aux_c.eo
index 7e67ed547d..cb2078859b 100644
--- a/src/tests/eolian/data_aux/aux_c.eo
+++ b/src/tests/eolian/data_aux/aux_c.eo
@@ -1,9 +1,10 @@
 class Aux_C {
+    [[No description supplied.]]
     methods {
-        foo {}
-        bar {}
+        foo { [[No description supplied.]] }
+        bar { [[No description supplied.]] }
     }
     events {
-        test: void;
+        test: void; [[No description supplied.]]
     }
 }
diff --git a/src/tests/eolian/generated_future.eo 
b/src/tests/eolian/generated_future.eo
index 4cf5518f93..da7e901d3d 100644
--- a/src/tests/eolian/generated_future.eo
+++ b/src/tests/eolian/generated_future.eo
@@ -1,5 +1,6 @@
 class Generated_Future extends Efl.Object
 {
+   [[No description supplied.]]
    methods {
    }
 }
diff --git a/src/tests/eolian_cxx/a.eo b/src/tests/eolian_cxx/a.eo
index cc94262821..a555777d5c 100644
--- a/src/tests/eolian_cxx/a.eo
+++ b/src/tests/eolian_cxx/a.eo
@@ -1,5 +1,6 @@
 class A extends Efl.Object
 {
+   [[No description supplied.]]
    data: A_Data;
    implements {
       Efl.Object.constructor;
diff --git a/src/tests/eolian_cxx/b.eo b/src/tests/eolian_cxx/b.eo
index c293edc9c0..80403cd9b7 100644
--- a/src/tests/eolian_cxx/b.eo
+++ b/src/tests/eolian_cxx/b.eo
@@ -1,5 +1,6 @@
 class B extends A
 {
+   [[No description supplied.]]
    data: B_Data;
    implements {
       Efl.Object.constructor;
diff --git a/src/tests/eolian_cxx/c.eo b/src/tests/eolian_cxx/c.eo
index fe7921c67a..655180c82a 100644
--- a/src/tests/eolian_cxx/c.eo
+++ b/src/tests/eolian_cxx/c.eo
@@ -1,5 +1,6 @@
 class C extends B
 {
+   [[No description supplied.]]
    data: C_Data;
    implements {
       Efl.Object.constructor;
diff --git a/src/tests/eolian_cxx/complex.eo b/src/tests/eolian_cxx/complex.eo
index a87391d83b..ea4306ead7 100644
--- a/src/tests/eolian_cxx/complex.eo
+++ b/src/tests/eolian_cxx/complex.eo
@@ -1,196 +1,236 @@
 class Complex extends Efl.Object
 {
+   [[No description supplied.]]
    data: Complex_Data;
    methods {
       // container test
       inptrcont {
+         [[No description supplied.]]
          params {
            l: list<string>;
          }
       }
       inclasscont {
+         [[No description supplied.]]
          params {
            l: list<Efl.Object>;
          }
       }
       incontcont {
+         [[No description supplied.]]
          params {
            l: list<list<string>>;
          }
       }
       incontcontown {
+         [[No description supplied.]]
          params {
            l: list<list<string>> @move;
          }
       }
       incontowncontown {
+         [[No description supplied.]]
          params {
            l: list<list<string> @move> @move;
          }
       }
       incontowncont {
+         [[No description supplied.]]
          params {
            l: list<list<string> @move>;
          }
       }
       instringcont {
+         [[No description supplied.]]
          params {
            l: list<string>;
          }
       }
       instringowncont {
+         [[No description supplied.]]
          params {
            l: list<mstring @move>;
          }
       }
       instringcontown {
+         [[No description supplied.]]
          params {
            l: list<string> @move;
          }
       }
       inarray {
+         [[No description supplied.]]
          params {
            l: array<string>;
          }
       }
       inarrayown {
+         [[No description supplied.]]
          params {
            l: array<string> @move;
          }
       }
       inhash @beta {
+         [[No description supplied.]]
          params {
            l: hash<string, string>;
          }
       }
       inhashown @beta {
+         [[No description supplied.]]
          params {
            l: hash<string, string> @move;
          }
       }
       initerator {
+         [[No description supplied.]]
          params {
            l: iterator<int>;
          }
       }
       initeratorown {
+         [[No description supplied.]]
          params {
            l: iterator<int> @move;
          }
       }
       inaccessor {
+         [[No description supplied.]]
          params {
            l: accessor<int>;
          }
       }
       inaccessorown {
+         [[No description supplied.]]
          params {
            l: accessor<int> @move;
          }
       }
       // out
       outclasscont {
+         [[No description supplied.]]
          params {
            @out l: list<Efl.Object>;
          }
       }
       outcontcont {
+         [[No description supplied.]]
          params {
            @out l: list<list<string>>;
          }
       }
       outcontcontown {
+         [[No description supplied.]]
          params {
            @out l: list<list<string>> @move;
          }
       }
       outcontowncontown {
+         [[No description supplied.]]
          params {
            @out l: list<list<string> @move> @move;
          }
       }
       outcontowncont {
+         [[No description supplied.]]
          params {
            @out l: list<list<string> @move>;
          }
       }
       outstringcont {
+         [[No description supplied.]]
          params {
            @out l: list<string>;
          }
       }
       outstringowncont {
+         [[No description supplied.]]
          params {
            @out l: list<mstring @move>;
          }
       }
       outstringcontown {
+         [[No description supplied.]]
          params {
            @out l: list<string> @move;
          }
       }
       outarray {
+         [[No description supplied.]]
          params {
            @out l: array<string>;
          }
       }
       outarrayown {
+         [[No description supplied.]]
          params {
            @out l: array<string> @move;
          }
       }
       outhash @beta {
+         [[No description supplied.]]
          params {
            @out l: hash<string, string>;
          }
       }
       outhashown @beta {
+         [[No description supplied.]]
          params {
            @out l: hash<string, string> @move;
          }
       }
       outiterator {
+         [[No description supplied.]]
          params {
            @out l: iterator<int>;
          }
       }
       outiteratorown {
+         [[No description supplied.]]
          params {
            @out l: iterator<int> @move;
          }
       }
       outaccessor {
+         [[No description supplied.]]
          params {
            @out l: accessor<int>;
          }
       }
       outaccessorown {
+         [[No description supplied.]]
          params {
            @out l: accessor<int> @move;
          }
       }
       foo {
+         [[No description supplied.]]
          params {
             l: list<string>;
          }
       }
       bar {
+         [[No description supplied.]]
          return: array<string>;
       }
       wrapper_r {
+         [[No description supplied.]]
          return: Complex;
       }
       wrapper_in {
+         [[No description supplied.]]
          params {
             @in a1: Complex;
          }
       }
       wrapper_inout {
+         [[No description supplied.]]
          params {
             @inout a1: Complex;
          }
       }
       wrapper_out {
+         [[No description supplied.]]
          params {
             @out a1: Complex;
          }
diff --git a/src/tests/eolian_cxx/cyclic1.eo b/src/tests/eolian_cxx/cyclic1.eo
index 519a08e760..07a96bbc36 100644
--- a/src/tests/eolian_cxx/cyclic1.eo
+++ b/src/tests/eolian_cxx/cyclic1.eo
@@ -1,7 +1,9 @@
 class Cyclic1
 {
+   [[No description supplied.]]
    methods {
       foo {
+         [[No description supplied.]]
          return: Cyclic2;
       }
    }
diff --git a/src/tests/eolian_cxx/cyclic2.eo b/src/tests/eolian_cxx/cyclic2.eo
index 1fbed3f1f4..d13e753ec9 100644
--- a/src/tests/eolian_cxx/cyclic2.eo
+++ b/src/tests/eolian_cxx/cyclic2.eo
@@ -1,7 +1,9 @@
 class Cyclic2
 {
+   [[No description supplied.]]
    methods {
       foo {
+         [[No description supplied.]]
          return: Cyclic1;
       }
    }
diff --git a/src/tests/eolian_cxx/generic.eo b/src/tests/eolian_cxx/generic.eo
index cf7aa3b31e..397c7b6076 100644
--- a/src/tests/eolian_cxx/generic.eo
+++ b/src/tests/eolian_cxx/generic.eo
@@ -1,15 +1,17 @@
-
 struct Generic.Event
 {
+  [[No description supplied.]]
   field1: int;
   field2: list<string>;
 }
 
 class Generic extends Efl.Object implements Generic_Interface
 {
+   [[No description supplied.]]
    data: Generic_Data;
    methods {
       @property req_ctor_a_value {
+         [[No description supplied.]]
          get {
          }
          values {
@@ -17,6 +19,7 @@ class Generic extends Efl.Object implements Generic_Interface
          }
       }
       @property opt_ctor_a_value {
+         [[No description supplied.]]
          get {
          }
          values {
@@ -24,92 +27,114 @@ class Generic extends Efl.Object implements 
Generic_Interface
          }
       }
       required_ctor_a {
+         [[No description supplied.]]
          params {
             @in value: int;
          }
       }
       required_ctor_b {
+         [[No description supplied.]]
          params {
             @in value: int;
          }
       }
       optional_ctor_a {
+         [[No description supplied.]]
          params {
             @in value: int;
          }
       }
       optional_ctor_b {
+         [[No description supplied.]]
          params {
             @in value: int;
          }
       }
 
       @property req_ctor_b_value {
+         [[No description supplied.]]
          get {}
          values {
             value: int;
          }
       }
       @property opt_ctor_b_value {
+         [[No description supplied.]]
          get {}
          values {
             value: int;
          }
       }
       out_required_ctor_a {
+         [[No description supplied.]]
          params {
             @out value: int;
          }
       }
       out_required_ctor_b {
+         [[No description supplied.]]
          params {
             @out value: int;
          }
       }
       out_optional_ctor_a {
+         [[No description supplied.]]
          params {
             @out value: int;
          }
       }
       out_optional_ctor_b {
+         [[No description supplied.]]
          params {
             @out value: int;
          }
       }
 
       call_event1 {
+         [[No description supplied.]]
       }
       call_event2 {
+         [[No description supplied.]]
       }
       call_event3 {
+         [[No description supplied.]]
       }
       call_event4 {
+         [[No description supplied.]]
       }
       call_event5 {
+         [[No description supplied.]]
       }
 
       protected_method1 @protected {
+         [[No description supplied.]]
       }
       beta_method1 @beta {
+         [[No description supplied.]]
       }
       protected_beta_method1 @protected @beta {
+         [[No description supplied.]]
       }
       event_param {
+         [[No description supplied.]]
          params {
            value: event;
          }
       }
       const_event_param {
+         [[No description supplied.]]
          params {
            value: const(event);
          }
       }
       binbuf_param {
+         [[No description supplied.]]
          params {
            value: binbuf;
          }
       }
       const_binbuf_param {
+         [[No description supplied.]]
          params {
            value: const(binbuf);
          }
@@ -125,13 +150,13 @@ class Generic extends Efl.Object implements 
Generic_Interface
       Efl.Object.constructor;
    }
    events {
-     prefix,event1: void;
-     prefix,event2: Generic;
-     prefix,event3: int;
-     prefix,event4: const(array<string>);
-     prefix,event5: Generic.Event;
-     protected,event1 @protected: void;
-     beta,event1 @beta: void;
-     protected,beta,event1 @beta @protected: void;
+     prefix,event1: void; [[No description supplied.]]
+     prefix,event2: Generic; [[No description supplied.]]
+     prefix,event3: int; [[No description supplied.]]
+     prefix,event4: const(array<string>); [[No description supplied.]]
+     prefix,event5: Generic.Event; [[No description supplied.]]
+     protected,event1 @protected: void; [[No description supplied.]]
+     beta,event1 @beta: void; [[No description supplied.]]
+     protected,beta,event1 @beta @protected: void; [[No description supplied.]]
    }
 }
diff --git a/src/tests/eolian_cxx/generic_interface.eo 
b/src/tests/eolian_cxx/generic_interface.eo
index 9f11c1a73c..c2b021d8b5 100644
--- a/src/tests/eolian_cxx/generic_interface.eo
+++ b/src/tests/eolian_cxx/generic_interface.eo
@@ -1,3 +1,4 @@
 interface Generic_Interface
 {
+   [[No description supplied.]]
 }
diff --git a/src/tests/eolian_cxx/name_name.eo 
b/src/tests/eolian_cxx/name_name.eo
index 64b0db1ab4..6df39e840c 100644
--- a/src/tests/eolian_cxx/name_name.eo
+++ b/src/tests/eolian_cxx/name_name.eo
@@ -1,3 +1,4 @@
 class Name.Name {
+   [[No description supplied.]]
 }
 
diff --git a/src/tests/eolian_cxx/ns_name.eo b/src/tests/eolian_cxx/ns_name.eo
index 9610d82f23..67c95df000 100644
--- a/src/tests/eolian_cxx/ns_name.eo
+++ b/src/tests/eolian_cxx/ns_name.eo
@@ -1,3 +1,4 @@
 class Ns.Name {
+   [[No description supplied.]]
 }
 
diff --git a/src/tests/eolian_cxx/ns_name_other.eo 
b/src/tests/eolian_cxx/ns_name_other.eo
index a8983c45c6..3bceb8cbff 100644
--- a/src/tests/eolian_cxx/ns_name_other.eo
+++ b/src/tests/eolian_cxx/ns_name_other.eo
@@ -1,3 +1,4 @@
 class Ns.Name.Other {
+   [[No description supplied.]]
 }
 
diff --git a/src/tests/eolian_cxx/property_holder.eo 
b/src/tests/eolian_cxx/property_holder.eo
index 6c16c4ee1b..401e5b3dbd 100644
--- a/src/tests/eolian_cxx/property_holder.eo
+++ b/src/tests/eolian_cxx/property_holder.eo
@@ -1,11 +1,14 @@
 class Property_Holder extends Efl.Object
 {
+   [[No description supplied.]]
    methods {
       some_method {
+         [[No description supplied.]]
          return: int;
       }
 
       @property prop_simple {
+         [[No description supplied.]]
          get {}
          set {}
          values {
@@ -14,6 +17,7 @@ class Property_Holder extends Efl.Object
       }
 
       @property getter_only {
+         [[No description supplied.]]
          get {}
          values {
             data: int;
@@ -21,6 +25,7 @@ class Property_Holder extends Efl.Object
       }
 
       @property setter_only {
+         [[No description supplied.]]
          set {}
          values {
             data: int;
@@ -28,6 +33,7 @@ class Property_Holder extends Efl.Object
       }
 
       @property prop_with_key {
+         [[No description supplied.]]
          get {}
          set {}
          values {
diff --git a/src/tests/eolian_cxx/simple.eo b/src/tests/eolian_cxx/simple.eo
index f6f340f131..a63aee4287 100644
--- a/src/tests/eolian_cxx/simple.eo
+++ b/src/tests/eolian_cxx/simple.eo
@@ -1,11 +1,14 @@
 class Simple extends Efl.Object
 {
+   [[No description supplied.]]
    data: null;
    methods {
       simple_get {
+         [[No description supplied.]]
          return: bool;
       }
       name_get {
+         [[No description supplied.]]
          params {
             @out name: string;
          }

-- 


Reply via email to