const char *rets;
char *tp = implname;
+ const char *names[] = { "", "getter ", "setter " };
+
if ((impl_class = eolian_implement_class_get(impl_desc)))
{
fnid = eolian_implement_function_get(impl_desc, &ftype);
if (!fnid)
{
- ERR ("Failed to generate implementation of %s - missing form super class",
- eolian_implement_full_name_get(impl_desc));
+ const char *name = names[eolian_implement_is_prop_get(impl_desc)
+ | (eolian_implement_is_prop_set(impl_desc) << 1)];
+ ERR ("Failed to generate implementation of %s%s - missing form super class",
+ name, eolian_implement_full_name_get(impl_desc));
goto end;
}
if (itr)
{
Eolian_Implement *impl_desc;
+ const char *names[] = { "", "getter ", "setter " };
EINA_ITERATOR_FOREACH(itr, impl_desc)
{
Eolian_Function_Type ftype;
if (!(foo = eolian_implement_function_get(impl_desc, &ftype)))
{
- ERR ("Failed to generate implementation of %s - missing form super class",
- eolian_implement_full_name_get(impl_desc));
+ const char *name = names[eolian_implement_is_prop_get(impl_desc)
+ | (eolian_implement_is_prop_set(impl_desc) << 1)];
+ ERR ("Failed to generate implementation of %s%s - missing form super class",
+ name, eolian_implement_full_name_get(impl_desc));
goto end;
}
switch (ftype)
EAPI Eina_Bool eolian_implement_is_empty(const Eolian_Implement *impl);
/*
+ * @brief Get whether an implement references a property getter.
+ *
+ * @param[in] impl the handle of the implement
+ * @return EINA_TRUE when it does, EINA_FALSE when it's not.
+ *
+ * @ingroup Eolian
+ */
+EAPI Eina_Bool eolian_implement_is_prop_get(const Eolian_Implement *impl);
+
+/*
+ * @brief Get whether an implement references a property setter.
+ *
+ * @param[in] impl the handle of the implement
+ * @return EINA_TRUE when it does, EINA_FALSE when it's not.
+ *
+ * @ingroup Eolian
+ */
+EAPI Eina_Bool eolian_implement_is_prop_set(const Eolian_Implement *impl);
+
+/*
* @brief Get an iterator to the overriding functions defined in a class.
*
* @param[in] klass the class.
EINA_SAFETY_ON_NULL_RETURN_VAL(impl, EINA_FALSE);
return impl->is_empty;
}
+
+EAPI Eina_Bool
+eolian_implement_is_prop_get(const Eolian_Implement *impl)
+{
+ EINA_SAFETY_ON_NULL_RETURN_VAL(impl, EINA_FALSE);
+ return impl->is_prop_get;
+}
+
+EAPI Eina_Bool
+eolian_implement_is_prop_set(const Eolian_Implement *impl)
+{
+ EINA_SAFETY_ON_NULL_RETURN_VAL(impl, EINA_FALSE);
+ return impl->is_prop_set;
+}