tpt = ::eolian_type_type_get(tp);
if (tpt == EOLIAN_TYPE_CLASS)
{
- Eolian_Class const* klass = ::eolian_type_class_get(NULL, tp);
+ Eolian_Class const* klass = ::eolian_type_class_get(tp);
if (klass)
{
Eina_Stringshare* klass_name = ::eolian_class_full_name_get(klass);
const Eolian_Type *eolian_type_aliased_base_get(const Eolian_Unit *unit, const Eolian_Type *tp);
const Eolian_Type *eolian_typedecl_aliased_base_get(const Eolian_Unit *unit, const Eolian_Typedecl *tp);
- const Eolian_Class *eolian_type_class_get(const Eolian_Unit *unit, const Eolian_Type *tp);
+ const Eolian_Class *eolian_type_class_get(const Eolian_Type *tp);
Eina_Bool eolian_type_is_owned(const Eolian_Type *tp);
Eina_Bool eolian_type_is_const(const Eolian_Type *tp);
Eina_Bool eolian_type_is_ptr(const Eolian_Type *tp);
return v
end,
- class_get = function(self, unit)
- local v = eolian.eolian_type_class_get(unit, self)
+ class_get = function(self)
+ local v = eolian.eolian_type_class_get(self)
if v == nil then return nil end
return v
end,
/*
* @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_Unit *unit, const Eolian_Type *tp);
+EAPI const Eolian_Class *eolian_type_class_get(const Eolian_Type *tp);
/*
* @brief Get whether the given type is owned.
}
EAPI const Eolian_Class *
-eolian_type_class_get(const Eolian_Unit *unit, const Eolian_Type *tp)
+eolian_type_class_get(const Eolian_Type *tp)
{
EINA_SAFETY_ON_NULL_RETURN_VAL(tp, NULL);
if (eolian_type_type_get(tp) != EOLIAN_TYPE_CLASS)
return NULL;
- return eolian_class_get_by_name(unit, tp->full_name);
+ return tp->klass;
}
EAPI Eina_Bool
}
case EOLIAN_TYPE_CLASS:
{
- tp->klass = (Eolian_Class *)eolian_type_class_get(src, tp);
+ tp->klass = (Eolian_Class *)eolian_class_get_by_name(src, tp->full_name);
if (!tp->klass)
{
snprintf(buf, sizeof(buf), "undefined class %s "
break;
case EOLIAN_TYPE_CLASS:
{
- Eolian_Class const* klass = eolian_type_class_get(unit, eolian_type);
+ Eolian_Class const* klass = eolian_type_class_get(eolian_type);
original_type = klass_name(klass, {qualifiers(eolian_type), {}});
}
break;
# c_type = lib.eolian_type_aliased_base_get(self._obj)
# return Type(c_type) if c_type else None
- # TODO FIXME STRANGE API (need Eolian_Unit*)
- # @cached_property
- # def class_(self):
- # c_cls = lib.eolian_type_class_get(self._obj)
- # return Class(c_cls) if c_cls else None
+ @cached_property
+ def class_(self):
+ c_cls = lib.eolian_type_class_get(self._obj)
+ return Class(c_cls) if c_cls else None
@cached_property
def file(self):
# lib.eolian_type_aliased_base_get.argtypes = [c_void_p,]
# lib.eolian_type_aliased_base_get.restype = c_void_p
-# TODO FIXME STRANGE API (need Eolian_Unit*)
-# EAPI const Eolian_Class *eolian_type_class_get(const Eolian_Unit *unit, const Eolian_Type *tp);
-# lib.eolian_type_class_get.argtypes = [c_void_p,]
-# lib.eolian_type_class_get.restype = c_void_p
+# EAPI const Eolian_Class *eolian_type_class_get(const Eolian_Type *tp);
+lib.eolian_type_class_get.argtypes = [c_void_p,]
+lib.eolian_type_class_get.restype = c_void_p
# EAPI Eina_Bool eolian_type_is_owned(const Eolian_Type *tp);
lib.eolian_type_is_owned.argtypes = [c_void_p,]