efl-mono: Use alternate docs when a property has no doc
authorXavi Artigas <xavierartigas@yahoo.es>
Fri, 21 Dec 2018 14:21:46 +0000 (15:21 +0100)
committerSangHyeon Jade Lee <sh10233.lee@samsung.com>
Thu, 27 Dec 2018 03:34:32 +0000 (12:34 +0900)
Summary:
Use the getter or the setter documentation when a property has no documentation.
This is not ideal (all properties should have documentation!) but at least we
have less undocumented properties.
See for example Efl.Canvas.Vg.Above.

Test Plan:
The Efl.Canvas.Vg.Above property in src/lib/evas/canvas/efl_canvas_vg_node.eo.cs
was previously undocumented because that property (inherited from Efl.Gfx.Stack)
has no docs, only its getter has docs.

Reviewers: lauromoura

Reviewed By: lauromoura

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7500

src/lib/eolian_cxx/grammar/klass_def.hpp

index 008b5aa..23303a0 100644 (file)
@@ -843,7 +843,15 @@ struct property_def
 
     Eolian_Function_Type type = ::eolian_function_type_get(function);
     if (type == EOLIAN_PROP_GET || type == EOLIAN_PROP_SET || type == EOLIAN_PROPERTY)
-      documentation = eolian_implement_documentation_get(implement, EOLIAN_PROPERTY);
+      {
+         documentation = eolian_implement_documentation_get(implement, EOLIAN_PROPERTY);
+         // If property-level documentation is empty, use the getter- or setter-level
+         // docs as fallback (if present).
+         if (documentation.summary.empty())
+           documentation = eolian_implement_documentation_get(implement, EOLIAN_PROP_GET);
+         if (documentation.summary.empty())
+           documentation = eolian_implement_documentation_get(implement, EOLIAN_PROP_SET);
+      }
   }
 };