diff --git a/src/lib/eolian/database_implement_api.c b/src/lib/eolian/database_implement_api.c index 8f628c4b9d..172e678165 100644 --- a/src/lib/eolian/database_implement_api.c +++ b/src/lib/eolian/database_implement_api.c @@ -31,7 +31,9 @@ eolian_implement_function_get(const Eolian_Implement *impl, if (!func_type) return impl->foo_id; - if (impl->is_prop_get) + if (impl->is_prop_get && impl->is_prop_set) + *func_type = EOLIAN_PROPERTY; + else if (impl->is_prop_get) *func_type = EOLIAN_PROP_GET; else if (impl->is_prop_set) *func_type = EOLIAN_PROP_SET; @@ -49,6 +51,8 @@ eolian_implement_function_get(const Eolian_Implement *impl, Eolian_Function_Type tp = EOLIAN_UNRESOLVED; + if (impl->is_prop_get && impl->is_prop_set) + tp = EOLIAN_PROPERTY; if (impl->is_prop_get) tp = EOLIAN_PROP_GET; else if (impl->is_prop_set) @@ -58,14 +62,6 @@ eolian_implement_function_get(const Eolian_Implement *impl, func_name, tp); - if (fid && tp == EOLIAN_UNRESOLVED && (fid->type == EOLIAN_PROP_GET - || fid->type == EOLIAN_PROP_SET)) - { - fprintf(stderr, "eolian:%s:%d:%d: both get and set required for property '%s'\n", - impl->base.file, impl->base.line, impl->base.column, func_name); - return NULL; - } - if (func_type) { if (tp == EOLIAN_UNRESOLVED)