if (!impl) return;
if (impl->base.file) eina_stringshare_del(impl->base.file);
if (impl->full_name) eina_stringshare_del(impl->full_name);
+ database_doc_del(impl->common_doc);
+ database_doc_del(impl->get_doc);
+ database_doc_del(impl->set_doc);
free(impl);
}
eina_strbuf_append_char(buf, '.');
eina_strbuf_append(buf, eo_lexer_keyword_str_get(ls->t.kw));
eo_lexer_get(ls);
- check_next(ls, ';');
- goto end;
+ check(ls, ';');
+ goto propbeg;
}
eina_strbuf_append_char(buf, '.');
check(ls, TOK_VALUE);
{
Eina_Bool has_get = EINA_FALSE, has_set = EINA_FALSE;
eo_lexer_get(ls);
+ FILL_DOC(ls, impl, common_doc);
for (;;) switch (ls->t.kw)
{
case KW_get:
eo_lexer_get(ls);
}
check_next(ls, ';');
+ FILL_DOC(ls, impl, get_doc);
break;
case KW_set:
CASE_LOCK(ls, set, "set specifier");
eo_lexer_get(ls);
}
check_next(ls, ';');
+ FILL_DOC(ls, impl, set_doc);
break;
default:
goto propend;
check_next(ls, '}');
}
else
- check_next(ls, ';');
+ {
+ check_next(ls, ';');
+ FILL_DOC(ls, impl, common_doc);
+ }
if (glob_auto)
impl->get_auto = impl->set_auto = EINA_TRUE;
if (glob_empty)
impl->get_empty = impl->set_empty = EINA_TRUE;
-end:
if (buf)
{
impl->full_name = eina_stringshare_add(eina_strbuf_string_get(buf));
const Eolian_Class *klass;
const Eolian_Function *foo_id;
Eina_Stringshare *full_name;
+ Eolian_Documentation *common_doc;
+ Eolian_Documentation *get_doc;
+ Eolian_Documentation *set_doc;
Eina_Bool is_prop_get :1;
Eina_Bool is_prop_set :1;
Eina_Bool get_pure_virtual :1;
}
}
implements {
- Base.constructor;
+ Base.constructor; [[overridden docs for constructor]]
@auto .b { set; }
@empty .bar;
@auto .c { get; }
- @auto Base.z { get; set; }
+ @auto Base.z {
+ [[overridden general property docs]]
+ get; [[overridden get docs]]
+ set; [[overridden set docs]]
+ }
}
}