From: Daniel Kolesa Date: Fri, 26 May 2017 12:52:44 +0000 (+0200) Subject: eolian: type_class_get takes unit X-Git-Tag: upstream/1.20.0~860^2~5 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=81a1d9659a12d3bee981309a3b7eb3a695169f04;p=platform%2Fupstream%2Fefl.git eolian: type_class_get takes unit --- diff --git a/src/bindings/luajit/eolian.lua b/src/bindings/luajit/eolian.lua index b59dc37..19c91bd 100644 --- a/src/bindings/luajit/eolian.lua +++ b/src/bindings/luajit/eolian.lua @@ -333,7 +333,7 @@ ffi.cdef [[ const Eolian_Type *eolian_type_aliased_base_get(const Eolian_Type *tp); const Eolian_Type *eolian_typedecl_aliased_base_get(const Eolian_Typedecl *tp); - const Eolian_Class *eolian_type_class_get(const Eolian_Type *tp); + const Eolian_Class *eolian_type_class_get(const Eolian_Unit *unit, const Eolian_Type *tp); size_t eolian_type_array_size_get(const Eolian_Type *tp); Eina_Bool eolian_type_is_own(const Eolian_Type *tp); Eina_Bool eolian_type_is_const(const Eolian_Type *tp); @@ -691,8 +691,8 @@ M.Type = ffi.metatype("Eolian_Type", { return v end, - class_get = function(self) - local v = eolian.eolian_type_class_get(self) + class_get = function(self, unit) + local v = eolian.eolian_type_class_get(unit, self) if v == nil then return nil end return v end, diff --git a/src/lib/eolian/Eolian.h b/src/lib/eolian/Eolian.h index 97c10d8..13e4770 100644 --- a/src/lib/eolian/Eolian.h +++ b/src/lib/eolian/Eolian.h @@ -1808,12 +1808,13 @@ EAPI const Eolian_Type *eolian_type_aliased_base_get(const Eolian_Type *tp); /* * @brief Get the class associated with an EOLIAN_TYPE_CLASS type. * + * @param[in] unit the unit to look in * @param[in] tp the type. * @return the class or NULL. * * @ingroup Eolian */ -EAPI const Eolian_Class *eolian_type_class_get(const Eolian_Type *tp); +EAPI const Eolian_Class *eolian_type_class_get(const Eolian_Unit *unit, const Eolian_Type *tp); /* * @brief Get the size of an EOLIAN_TYPE_STATIC_ARRAY. diff --git a/src/lib/eolian/database_type_api.c b/src/lib/eolian/database_type_api.c index ef9d397..2c8fd9a 100644 --- a/src/lib/eolian/database_type_api.c +++ b/src/lib/eolian/database_type_api.c @@ -311,13 +311,12 @@ eolian_typedecl_aliased_base_get(const Eolian_Typedecl *tp) } EAPI const Eolian_Class * -eolian_type_class_get(const Eolian_Type *tp) +eolian_type_class_get(const Eolian_Unit *unit, const Eolian_Type *tp) { EINA_SAFETY_ON_NULL_RETURN_VAL(tp, NULL); if (eolian_type_type_get(tp) != EOLIAN_TYPE_CLASS) return NULL; - /* FIXME: pass unit properly */ - return eolian_class_get_by_name(NULL, tp->full_name); + return eolian_class_get_by_name(unit, tp->full_name); } EAPI size_t diff --git a/src/lib/eolian/database_validate.c b/src/lib/eolian/database_validate.c index f361cea..f8dac39 100644 --- a/src/lib/eolian/database_validate.c +++ b/src/lib/eolian/database_validate.c @@ -154,7 +154,8 @@ _validate_type(const Eolian_Type *tp) return _validate_type(tp->base_type); case EOLIAN_TYPE_CLASS: { - if (!eolian_type_class_get(tp)) + /* FIXME: pass unit properly */ + if (!eolian_type_class_get(NULL, tp)) { char buf[256]; snprintf(buf, sizeof(buf), "undefined class %s "