forked from enlightenment/efl
eolian-cxx: Fixed using eo::base for extension_inheritance
Extended the logic for rewriting the eo::base to efl::eo::base for parents to extension inheritance.
This commit is contained in:
parent
377bb449ba
commit
637a97a0f5
|
@ -155,6 +155,14 @@ convert_eolian_property_to_functions(Eolian_Class const& klass)
|
||||||
return container;
|
return container;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::string get_class_name(std::string const& name)
|
||||||
|
{
|
||||||
|
// "eo_base" is the Eolian name for EO_BASE_CLASS.
|
||||||
|
return (name == "eo_base" || name == "eo::base" || name == "")
|
||||||
|
? "efl::eo::base"
|
||||||
|
: name;
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
convert_eolian_inheritances(efl::eolian::eo_class& cls, Eolian_Class const& klass)
|
convert_eolian_inheritances(efl::eolian::eo_class& cls, Eolian_Class const& klass)
|
||||||
{
|
{
|
||||||
|
@ -171,21 +179,18 @@ convert_eolian_inheritances(efl::eolian::eo_class& cls, Eolian_Class const& klas
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
// First element is the parent
|
||||||
const char *ptr = static_cast<const char*>
|
const char *ptr = static_cast<const char*>
|
||||||
(eina_list_data_get(inheritances));
|
(eina_list_data_get(inheritances));
|
||||||
std::string parent = class_format_cxx(safe_lower(ptr));
|
cls.parent = get_class_name(class_format_cxx(safe_lower(ptr)));
|
||||||
|
|
||||||
// "eo_base" is the Eolian name for EO_BASE_CLASS.
|
inheritances = eina_list_next(inheritances);
|
||||||
cls.parent =
|
|
||||||
(parent == "eo_base" || parent == "eo::base" || parent == "")
|
EINA_LIST_FOREACH (inheritances, it, curr)
|
||||||
? "efl::eo::base"
|
{
|
||||||
: parent;
|
std::string extension = safe_lower(static_cast<const char*>(curr));
|
||||||
}
|
cls.extensions.push_back(get_class_name(class_format_cxx(extension)));
|
||||||
inheritances = eina_list_next(inheritances);
|
}
|
||||||
EINA_LIST_FOREACH (inheritances, it, curr)
|
|
||||||
{
|
|
||||||
std::string extension = safe_lower(static_cast<const char*>(curr));
|
|
||||||
cls.extensions.push_back(class_format_cxx(extension));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue