{
klass_name klass;
std::string name;
+ documentation_def documentation;
efl::eina::optional<function_def> getter;
efl::eina::optional<function_def> setter;
{
return lhs.klass == rhs.klass
&& lhs.name == rhs.name
+ && lhs.documentation == rhs.documentation
&& lhs.getter == rhs.getter
&& lhs.setter == rhs.setter;
}
const Eolian_Class *eolian_klass = eolian_function_class_get(function);
klass = klass_name(eolian_klass, {attributes::qualifier_info::is_none, std::string()});
+
+ Eolian_Implement const* implement = ::eolian_function_implement_get(function);
+ if (!implement)
+ return;
+
+ 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);
}
};
ck_assert_str_eq(doc.summary.c_str(), "Set documentation.");
ck_assert_str_eq(doc.description.c_str(), "");
ck_assert_str_eq(doc.since.c_str(), "1.17"); // Members inherit from parent *class*
+
+ auto property_iter = klass.properties.begin();
+ auto property = *property_iter;
+ doc = property.documentation;
+ ck_assert_str_eq(doc.summary.c_str(), "Property common documentation.");
+ ck_assert_str_eq(doc.since.c_str(), "1.18");
}
EFL_END_TEST