forked from enlightenment/efl
eolian-cxx: Fix compilation errors with new any_value_ptr and mstring types
This commit is contained in:
parent
39318789a8
commit
bb887f9869
|
@ -394,7 +394,11 @@ inline char* convert_to_c_impl( ::efl::eina::string_view v, tag<char*, ::efl::ei
|
||||||
std::strcpy(string, v.c_str());
|
std::strcpy(string, v.c_str());
|
||||||
return string;
|
return string;
|
||||||
}
|
}
|
||||||
inline char** convert_to_c_impl(efl::eina::string_view* /*view*/, tag<char **, efl::eina::string_view*>)
|
inline char** convert_to_c_impl(efl::eina::string_view& /*view*/, tag<char **, efl::eina::string_view, true>)
|
||||||
|
{
|
||||||
|
std::abort();
|
||||||
|
}
|
||||||
|
inline const char** convert_to_c_impl(efl::eina::string_view& /*view*/, tag<const char **, efl::eina::string_view, true>)
|
||||||
{
|
{
|
||||||
std::abort();
|
std::abort();
|
||||||
}
|
}
|
||||||
|
|
|
@ -110,6 +110,24 @@ struct visitor_generate
|
||||||
r.base_qualifier.qualifier ^= qualifier_info::is_ref;
|
r.base_qualifier.qualifier ^= qualifier_info::is_ref;
|
||||||
return replace_base_type(r, " ::efl::eina::string_view");
|
return replace_base_type(r, " ::efl::eina::string_view");
|
||||||
}}
|
}}
|
||||||
|
, {"mstring", false, nullptr, nullptr, [&]
|
||||||
|
{
|
||||||
|
regular_type_def r = regular;
|
||||||
|
r.base_qualifier.qualifier |= qualifier_info::is_ref;
|
||||||
|
// r.base_qualifier.qualifier ^= qualifier_info::is_const;
|
||||||
|
if(is_out || is_return)
|
||||||
|
return replace_base_type(r, " ::std::string");
|
||||||
|
return replace_base_type(r, " ::efl::eina::string_view");
|
||||||
|
}}
|
||||||
|
, {"mstring", true, nullptr, nullptr, [&]
|
||||||
|
{
|
||||||
|
regular_type_def r = regular;
|
||||||
|
r.base_qualifier.qualifier ^= qualifier_info::is_ref;
|
||||||
|
// r.base_qualifier.qualifier ^= qualifier_info::is_const;
|
||||||
|
if(is_out || is_return)
|
||||||
|
return replace_base_type(r, " ::std::string");
|
||||||
|
return replace_base_type(r, " ::efl::eina::string_view");
|
||||||
|
}}
|
||||||
, {"stringshare", nullptr, nullptr, nullptr, [&]
|
, {"stringshare", nullptr, nullptr, nullptr, [&]
|
||||||
{
|
{
|
||||||
regular_type_def r = regular;
|
regular_type_def r = regular;
|
||||||
|
@ -124,6 +142,13 @@ struct visitor_generate
|
||||||
, {"any_value", false, nullptr, nullptr, [&]
|
, {"any_value", false, nullptr, nullptr, [&]
|
||||||
{ return regular_type_def{" ::efl::eina::value_view", regular.base_qualifier, {}};
|
{ return regular_type_def{" ::efl::eina::value_view", regular.base_qualifier, {}};
|
||||||
}}
|
}}
|
||||||
|
, {"any_value_ptr", true, nullptr, nullptr, [&]
|
||||||
|
{
|
||||||
|
return regular_type_def{" ::efl::eina::value", regular.base_qualifier ^ qualifier_info::is_ref, {}};
|
||||||
|
}}
|
||||||
|
, {"any_value_ptr", false, nullptr, nullptr, [&]
|
||||||
|
{ return regular_type_def{" ::efl::eina::value_view", regular.base_qualifier ^ qualifier_info::is_ref, {}};
|
||||||
|
}}
|
||||||
};
|
};
|
||||||
if(regular.base_type == "void_ptr")
|
if(regular.base_type == "void_ptr")
|
||||||
{
|
{
|
||||||
|
|
|
@ -102,7 +102,7 @@ void _name1_name2_type_generation_instringshareown(Eo *obj EINA_UNUSED, Type_Gen
|
||||||
eina_stringshare_del(v);
|
eina_stringshare_del(v);
|
||||||
}
|
}
|
||||||
|
|
||||||
void _name1_name2_type_generation_instringptrown(Eo *obj EINA_UNUSED, Type_Generation_Data *pd EINA_UNUSED, char * *v)
|
void _name1_name2_type_generation_instringptrown(Eo *obj EINA_UNUSED, Type_Generation_Data *pd EINA_UNUSED, const char * *v)
|
||||||
{
|
{
|
||||||
ck_assert_str_eq(*v, "foobar");
|
ck_assert_str_eq(*v, "foobar");
|
||||||
free((void*)*v);
|
free((void*)*v);
|
||||||
|
@ -197,7 +197,7 @@ char * _name1_name2_type_generation_returnstringown(Eo *obj EINA_UNUSED, Type_Ge
|
||||||
return p;
|
return p;
|
||||||
}
|
}
|
||||||
|
|
||||||
char * * _name1_name2_type_generation_returnstringownptr(Eo *obj EINA_UNUSED, Type_Generation_Data *pd EINA_UNUSED)
|
const char * * _name1_name2_type_generation_returnstringownptr(Eo *obj EINA_UNUSED, Type_Generation_Data *pd EINA_UNUSED)
|
||||||
{
|
{
|
||||||
const char foobar[] = "foobar";
|
const char foobar[] = "foobar";
|
||||||
char** p1 = malloc(sizeof(const char*));
|
char** p1 = malloc(sizeof(const char*));
|
||||||
|
|
Loading…
Reference in New Issue