eolian: rename eolian_typedecl_enum_field_c_name_get

This is to allow for better object oriented APIs, as the `c_name`
field would be inherited from Object. This also makes it more
clear in C.
This commit is contained in:
Daniel Kolesa 2019-05-16 15:52:46 +02:00
parent 4ab1f2388e
commit b3a870c7bb
11 changed files with 17 additions and 17 deletions

View File

@ -68,7 +68,7 @@ _generate_ref(const Eolian_State *state, const char *refn, Eina_Strbuf *wbuf)
eina_stringshare_del(bname);
goto noref;
}
Eina_Stringshare *str = eolian_typedecl_enum_field_c_name_get(efl);
Eina_Stringshare *str = eolian_typedecl_enum_field_c_constant_get(efl);
eina_strbuf_append(wbuf, str);
eina_stringshare_del(bname);
return;

View File

@ -81,7 +81,7 @@ _type_generate(const Eolian_State *state, const Eolian_Typedecl *tp,
const Eolian_Expression *vale =
eolian_typedecl_enum_field_value_get(memb, EINA_FALSE);
Eina_Stringshare *membn =
eolian_typedecl_enum_field_c_name_get(memb);
eolian_typedecl_enum_field_c_constant_get(memb);
if (!vale)
eina_strbuf_append_printf(buf, " %s", membn);
else

View File

@ -1174,7 +1174,7 @@ int main(int argc, char** argv)
, ef_end; ef != ef_end; ++ef)
{
auto field_name = ::eolian_typedecl_enum_field_name_get(&*ef);
auto field_c_name = ::eolian_typedecl_enum_field_c_name_get(&*ef);
auto field_c_name = ::eolian_typedecl_enum_field_c_constant_get(&*ef);
if (!field_name || !field_c_name)
{
EINA_CXX_DOM_LOG_ERR(eolian::js::domain) << "Could not get enum field name";

View File

@ -419,7 +419,7 @@ ffi.cdef [[
const Eolian_Type *eolian_typedecl_struct_field_type_get(const Eolian_Struct_Type_Field *fl);
Eina_Iterator *eolian_typedecl_enum_fields_get(const Eolian_Typedecl *tp);
const Eolian_Enum_Type_Field *eolian_typedecl_enum_field_get(const Eolian_Typedecl *tp, const char *field);
const char *eolian_typedecl_enum_field_c_name_get(const Eolian_Enum_Type_Field *fl);
const char *eolian_typedecl_enum_field_c_constant_get(const Eolian_Enum_Type_Field *fl);
const Eolian_Documentation *eolian_typedecl_enum_field_documentation_get(const Eolian_Enum_Type_Field *fl);
const Eolian_Expression *eolian_typedecl_enum_field_value_get(const Eolian_Enum_Type_Field *fl, Eina_Bool force);
@ -979,7 +979,7 @@ ffi.metatype("Eolian_Struct_Type_Field", {
ffi.metatype("Eolian_Enum_Type_Field", {
__index = wrap_object {
c_name_get = function(self)
local v = eolian.eolian_typedecl_enum_field_c_name_get(self)
local v = eolian.eolian_typedecl_enum_field_c_constant_get(self)
if v == nil then return nil end
return ffi_stringshare(v)
end,

View File

@ -2469,7 +2469,7 @@ eolian_typedecl_enum_field_name_get(const Eolian_Enum_Type_Field *field)
}
/*
* @brief Get the C name of a field of an enum type.
* @brief Get the C constant name used to refer to a particular enum field.
*
* The user of the API is responsible for the resulting stringshare.
*
@ -2478,7 +2478,7 @@ eolian_typedecl_enum_field_name_get(const Eolian_Enum_Type_Field *field)
*
* @ingroup Eolian
*/
EAPI Eina_Stringshare *eolian_typedecl_enum_field_c_name_get(const Eolian_Enum_Type_Field *fl);
EAPI Eina_Stringshare *eolian_typedecl_enum_field_c_constant_get(const Eolian_Enum_Type_Field *fl);
/*
* @brief Get the documentation of a field of an enum type.

View File

@ -86,7 +86,7 @@ eolian_typedecl_enum_field_get(const Eolian_Typedecl *tp, const char *field)
}
EAPI Eina_Stringshare *
eolian_typedecl_enum_field_c_name_get(const Eolian_Enum_Type_Field *fl)
eolian_typedecl_enum_field_c_constant_get(const Eolian_Enum_Type_Field *fl)
{
Eina_Stringshare *ret;
Eina_Strbuf *buf;

View File

@ -1474,7 +1474,7 @@ struct enum_value_def
enum_value_def(Eolian_Enum_Type_Field const* enum_field, Eolian_Unit const*)
{
name = eolian_typedecl_enum_field_name_get(enum_field);
c_name = eolian_typedecl_enum_field_c_name_get(enum_field);
c_name = eolian_typedecl_enum_field_c_constant_get(enum_field);
auto exp = eolian_typedecl_enum_field_value_get(enum_field, EINA_TRUE);
value = eolian_expression_eval(exp, EOLIAN_MASK_INT); // FIXME hardcoded int
documentation = eolian_typedecl_enum_field_documentation_get(enum_field);

View File

@ -1190,8 +1190,8 @@ class Enum_Type_Field(Object):
return "<eolian.Enum_Type_Field '{0.name}', c_name='{0.c_name}'>".format(self)
@cached_property
def c_name(self):
s = lib.eolian_typedecl_enum_field_c_name_get(self)
def c_constant(self):
s = lib.eolian_typedecl_enum_field_c_constant_get(self)
ret = _str_to_py(s)
lib.eina_stringshare_del(c_void_p(s))
return ret

View File

@ -525,9 +525,9 @@ lib.eolian_typedecl_enum_fields_get.restype = c_void_p
lib.eolian_typedecl_enum_field_get.argtypes = (c_void_p, c_char_p)
lib.eolian_typedecl_enum_field_get.restype = c_void_p
# EAPI Eina_Stringshare *eolian_typedecl_enum_field_c_name_get(const Eolian_Enum_Type_Field *fl);
lib.eolian_typedecl_enum_field_c_name_get.argtypes = (c_void_p,)
lib.eolian_typedecl_enum_field_c_name_get.restype = c_void_p # Stringshare TO BE FREED
# EAPI Eina_Stringshare *eolian_typedecl_enum_field_c_constant_get(const Eolian_Enum_Type_Field *fl);
lib.eolian_typedecl_enum_field_c_constant_get.argtypes = (c_void_p,)
lib.eolian_typedecl_enum_field_c_constant_get.restype = c_void_p # Stringshare TO BE FREED
# EAPI const Eolian_Documentation *eolian_typedecl_enum_field_documentation_get(const Eolian_Enum_Type_Field *fl);
lib.eolian_typedecl_enum_field_documentation_get.argtypes = (c_void_p,)

View File

@ -512,7 +512,7 @@ class TestEolianTypedecl(unittest.TestCase):
field = td.enum_field_get('v1_0')
self.assertIsInstance(field, eolian.Enum_Type_Field)
self.assertEqual(field.name, 'v1_0')
self.assertEqual(field.c_name, 'EFL_NET_HTTP_VERSION_V1_0')
self.assertEqual(field.c_constant, 'EFL_NET_HTTP_VERSION_V1_0')
self.assertIsInstance(field.documentation, eolian.Documentation)
self.assertIsInstance(field.value, eolian.Expression)

View File

@ -888,7 +888,7 @@ EFL_START_TEST(eolian_enum)
fail_if(v.type != EOLIAN_EXPR_INT);
fail_if(v.value.i != 15);
cname = eolian_typedecl_enum_field_c_name_get(field);
cname = eolian_typedecl_enum_field_c_constant_get(field);
fail_if(strcmp(cname, "TEST_FOO"));
eina_stringshare_del(cname);
@ -915,7 +915,7 @@ EFL_START_TEST(eolian_enum)
fail_if(!(tdl = eolian_unit_enum_by_name_get(unit, "Name.Spaced")));
fail_if(!(field = eolian_typedecl_enum_field_get(tdl, "pants")));
cname = eolian_typedecl_enum_field_c_name_get(field);
cname = eolian_typedecl_enum_field_c_constant_get(field);
fail_if(strcmp(cname, "NAME_SPACED_PANTS"));
eina_stringshare_del(cname);