From b3a870c7bb29461c6478fae9f51c211229b62d9d Mon Sep 17 00:00:00 2001 From: Daniel Kolesa Date: Thu, 16 May 2019 15:52:46 +0200 Subject: [PATCH] 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. --- src/bin/eolian/docs.c | 2 +- src/bin/eolian/types.c | 2 +- src/bin/eolian_js/main.cc | 2 +- src/bindings/luajit/eolian.lua | 4 ++-- src/lib/eolian/Eolian.h | 4 ++-- src/lib/eolian/database_type_api.c | 2 +- src/lib/eolian_cxx/grammar/klass_def.hpp | 2 +- src/scripts/pyolian/eolian.py | 4 ++-- src/scripts/pyolian/eolian_lib.py | 6 +++--- src/scripts/pyolian/test_eolian.py | 2 +- src/tests/eolian/eolian_parsing.c | 4 ++-- 11 files changed, 17 insertions(+), 17 deletions(-) diff --git a/src/bin/eolian/docs.c b/src/bin/eolian/docs.c index 7120612c9d..e497581e83 100644 --- a/src/bin/eolian/docs.c +++ b/src/bin/eolian/docs.c @@ -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; diff --git a/src/bin/eolian/types.c b/src/bin/eolian/types.c index 85e443e6d8..a932a7c046 100644 --- a/src/bin/eolian/types.c +++ b/src/bin/eolian/types.c @@ -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 diff --git a/src/bin/eolian_js/main.cc b/src/bin/eolian_js/main.cc index 86940d1dba..71466a8f83 100644 --- a/src/bin/eolian_js/main.cc +++ b/src/bin/eolian_js/main.cc @@ -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"; diff --git a/src/bindings/luajit/eolian.lua b/src/bindings/luajit/eolian.lua index d3edf8492b..71886511bf 100644 --- a/src/bindings/luajit/eolian.lua +++ b/src/bindings/luajit/eolian.lua @@ -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, diff --git a/src/lib/eolian/Eolian.h b/src/lib/eolian/Eolian.h index 662cf39f7a..3207e16634 100644 --- a/src/lib/eolian/Eolian.h +++ b/src/lib/eolian/Eolian.h @@ -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. diff --git a/src/lib/eolian/database_type_api.c b/src/lib/eolian/database_type_api.c index 7d471c7ee4..b10a9a700f 100644 --- a/src/lib/eolian/database_type_api.c +++ b/src/lib/eolian/database_type_api.c @@ -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; diff --git a/src/lib/eolian_cxx/grammar/klass_def.hpp b/src/lib/eolian_cxx/grammar/klass_def.hpp index fa32dfbe93..60abbb54a6 100644 --- a/src/lib/eolian_cxx/grammar/klass_def.hpp +++ b/src/lib/eolian_cxx/grammar/klass_def.hpp @@ -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); diff --git a/src/scripts/pyolian/eolian.py b/src/scripts/pyolian/eolian.py index 502c658971..787c9ff694 100644 --- a/src/scripts/pyolian/eolian.py +++ b/src/scripts/pyolian/eolian.py @@ -1190,8 +1190,8 @@ class Enum_Type_Field(Object): return "".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 diff --git a/src/scripts/pyolian/eolian_lib.py b/src/scripts/pyolian/eolian_lib.py index 655684b66b..15863cf3b4 100644 --- a/src/scripts/pyolian/eolian_lib.py +++ b/src/scripts/pyolian/eolian_lib.py @@ -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,) diff --git a/src/scripts/pyolian/test_eolian.py b/src/scripts/pyolian/test_eolian.py index b394c502cf..0a28cb1010 100755 --- a/src/scripts/pyolian/test_eolian.py +++ b/src/scripts/pyolian/test_eolian.py @@ -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) diff --git a/src/tests/eolian/eolian_parsing.c b/src/tests/eolian/eolian_parsing.c index 5ac08b8cd2..8711fdf319 100644 --- a/src/tests/eolian/eolian_parsing.c +++ b/src/tests/eolian/eolian_parsing.c @@ -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);