forked from enlightenment/efl
eolian_cxx: Add documentation field to property_def
Test Plan: run eolian_cxx suite Reviewers: vitor.sousa, felipealmeida Reviewed By: vitor.sousa Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D7414
This commit is contained in:
parent
93aefcce14
commit
a31792e09e
|
@ -802,6 +802,7 @@ struct property_def
|
||||||
{
|
{
|
||||||
klass_name klass;
|
klass_name klass;
|
||||||
std::string name;
|
std::string name;
|
||||||
|
documentation_def documentation;
|
||||||
|
|
||||||
efl::eina::optional<function_def> getter;
|
efl::eina::optional<function_def> getter;
|
||||||
efl::eina::optional<function_def> setter;
|
efl::eina::optional<function_def> setter;
|
||||||
|
@ -810,6 +811,7 @@ struct property_def
|
||||||
{
|
{
|
||||||
return lhs.klass == rhs.klass
|
return lhs.klass == rhs.klass
|
||||||
&& lhs.name == rhs.name
|
&& lhs.name == rhs.name
|
||||||
|
&& lhs.documentation == rhs.documentation
|
||||||
&& lhs.getter == rhs.getter
|
&& lhs.getter == rhs.getter
|
||||||
&& lhs.setter == rhs.setter;
|
&& lhs.setter == rhs.setter;
|
||||||
}
|
}
|
||||||
|
@ -828,6 +830,14 @@ struct property_def
|
||||||
|
|
||||||
const Eolian_Class *eolian_klass = eolian_function_class_get(function);
|
const Eolian_Class *eolian_klass = eolian_function_class_get(function);
|
||||||
klass = klass_name(eolian_klass, {attributes::qualifier_info::is_none, std::string()});
|
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);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -144,6 +144,12 @@ EFL_START_TEST(eolian_cxx_test_property_docs)
|
||||||
ck_assert_str_eq(doc.summary.c_str(), "Set documentation.");
|
ck_assert_str_eq(doc.summary.c_str(), "Set documentation.");
|
||||||
ck_assert_str_eq(doc.description.c_str(), "");
|
ck_assert_str_eq(doc.description.c_str(), "");
|
||||||
ck_assert_str_eq(doc.since.c_str(), "1.17"); // Members inherit from parent *class*
|
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
|
EFL_END_TEST
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue