impl->klass = cl;
*foo_id = (Eolian_Function*)eolian_class_function_get_by_name(cl, imstr,
ftype);
+ impl->foo_id = *foo_id;
return !!*foo_id;
}
eina_stringshare_ref(impl->base.file);
impl->klass = cl;
+ impl->foo_id = foo_id;
impl->full_name = eina_stringshare_printf("%s.%s", cl->full_name,
foo_id->name);
Eolian_Function_Type *func_type)
{
EINA_SAFETY_ON_NULL_RETURN_VAL(impl, NULL);
+
+ if (impl->foo_id)
+ {
+ if (!func_type)
+ return impl->foo_id;
+
+ if (impl->is_prop_get)
+ *func_type = EOLIAN_PROP_GET;
+ else if (impl->is_prop_set)
+ *func_type = EOLIAN_PROP_SET;
+ else
+ *func_type = eolian_function_type_get(impl->foo_id);
+
+ return impl->foo_id;
+ }
+
const Eolian_Class *klass = eolian_implement_class_get(impl);
if (!klass)
return NULL;
else
*func_type = tp;
}
+
+ ((Eolian_Implement*)impl)->foo_id = fid;
+
return fid;
}
{
Eolian_Object base;
const Eolian_Class *klass;
+ const Eolian_Function *foo_id;
Eina_Stringshare *full_name;
Eina_Bool is_virtual :1;
Eina_Bool is_prop_get :1;