param->type = NULL;
}
+ foo_id->base = meth->base;
+
return EINA_TRUE;
}
database_parameter_nonull_set(p, param->nonull);
param->type = NULL;
+ p->base = param->base;
+
return EINA_TRUE;
}
database_parameter_nonull_set(p, param->nonull);
param->type = NULL;
+ p->base = param->base;
+
return EINA_TRUE;
}
database_parameter_nonull_set(p, param->nonull);
param->type = NULL;
+ p->base = param->base;
+
return EINA_TRUE;
}
if (kls->type == EOLIAN_CLASS_INTERFACE)
database_function_set_as_virtual_pure(foo_id, ftype);
+ if (ftype == EOLIAN_PROP_GET)
+ foo_id->base = accessor->base;
+ else
+ foo_id->set_base = accessor->base;
+
return EINA_TRUE;
}
database_function_type_set(foo_id, EOLIAN_PROPERTY);
if (kls->type == EOLIAN_CLASS_INTERFACE)
database_function_set_as_virtual_pure(foo_id, EOLIAN_UNRESOLVED);
+ foo_id->base = prop->base;
}
database_class_function_add(cl, foo_id);
if (kls->type == EOLIAN_CLASS_INTERFACE)
database_function_set_as_virtual_pure(foo_id, EOLIAN_METHOD);
+ foo_id->base = meth->base;
+
return EINA_TRUE;
}
if (!_db_fill_implements(cl, kls)) return EINA_FALSE;
if (!_db_fill_events (cl, kls)) return EINA_FALSE;
+ cl->base = kls->base;
+
return EINA_TRUE;
}
typedef struct _Eo_Param_Def
{
+ Eolian_Object base;
Eolian_Parameter_Dir way;
Eolian_Type *type;
Eina_Stringshare *name;
typedef struct _Eo_Accessor_Def
{
+ Eolian_Object base;
Eo_Accessor_Type type;
Eo_Ret_Def *ret;
Eina_Stringshare *comment;
typedef struct _Eo_Property_Def
{
+ Eolian_Object base;
Eina_Stringshare *name;
Eina_List *keys;
Eina_List *values;
typedef struct _Eo_Method_Def
{
+ Eolian_Object base;
Eo_Ret_Def *ret;
Eina_Stringshare *name;
Eina_Stringshare *comment;
typedef struct _Eo_Class_Def
{
+ Eolian_Object base;
Eina_Stringshare *name;
Eina_Stringshare *file;
Eolian_Class_Type type;
extern Eina_Hash *_filenames; /* Hash: filename without extension -> full path */
extern Eina_Hash *_tfilenames;
+typedef struct _Eolian_Object
+{
+ int line;
+ int column;
+} Eolian_Object;
+
struct _Eolian_Class
{
+ Eolian_Object base;
Eina_Stringshare *full_name;
Eina_List *namespaces; /* List Eina_Stringshare * */
Eina_Stringshare *name;
struct _Eolian_Function
{
+ Eolian_Object base;
+ Eolian_Object set_base;
Eina_Stringshare *name;
Eina_List *keys; /* list of Eolian_Function_Parameter */
Eina_List *params; /* list of Eolian_Function_Parameter */
struct _Eolian_Function_Parameter
{
+ Eolian_Object base;
Eina_Stringshare *name;
Eolian_Type *type;
Eina_Stringshare *description;
Eina_Bool nonull :1; /* True if this argument cannot be NULL */
};
-/* maps directly to Eo_Type_Def */
-
struct _Eolian_Type
{
+ Eolian_Object base;
Eolian_Type_Type type;
union {
/* functions */
struct _Eolian_Implement
{
+ Eolian_Object base;
Eina_Stringshare *full_name;
};
struct _Eolian_Event
{
+ Eolian_Object base;
Eina_Stringshare *name;
Eina_Stringshare *comment;
Eolian_Type *type;
typedef struct _Eolian_Struct_Field
{
+ Eolian_Object base;
Eolian_Type *type;
Eina_Stringshare *comment;
} Eolian_Struct_Field;