path: root/src/lib/eolian (follow)
AgeCommit message (Collapse)Author
3 daysdatabase_expr: fix memory leak when type error happensJaehyun Cho
Summary: Memory leak is fixed when type error happens. Reviewers: q66 Reviewed By: q66 Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision:
2020-02-06eolian: fix missing stringshare_refDaniel Kolesa
This was properly applied to all cases except this one where it was overlooked/forgotten. That resulted in the @c_name() feature with enums being broken because of bad memory. Fixes T8596.
2020-02-05eolian: finally error on missing since tagsMarcel Hollerbach
this is actaully usefull ... for people not forgetting things. Reviewed-by: Xavi Artigas <> Reviewed-by: Daniel Kolesa <> Differential Revision:
2020-01-29eolian: enforce that list<> can only be used with @beta API.Cedric BAIL
Reviewed-by: Daniel Kolesa <> Differential Revision:
2020-01-29Revert "eolian: enforce that list<> can only be used with @beta API."Marcel Hollerbach
This reverts commit 6b110e578d24b2a99c4c1b158433327a0a43ce1a. This breaks bindings compilation.
2020-01-29eolian: enforce that list<> can only be used with @beta API.Cedric BAIL
Reviewed-by: Daniel Kolesa <> Differential Revision:
2020-01-10eolian: use c_name to derive enum c field namesDaniel Kolesa
2020-01-10eolian: fix parsing of c_name tagsDaniel Kolesa
It was not properly consuming the ending ) token.
2019-12-24eolian: inherit since information from struct and enum to fieldFelipe Magno de Almeida
Summary: If a struct or enum field doesn't explicitly sets since information, then since is inherited from struct documentation if it is available. Reviewers: jptiz, Jaehyun_Cho, woohyun, q66 Reviewed By: q66 Subscribers: cedric, #reviewers, #committers Tags: #efl Maniphest Tasks: T8359 Differential Revision:
2019-12-23Revert "eolian: inherit since information from struct to field"WooHyun Jung
This reverts commit f349510941a81649cbd040774c3d4939429e3293. This patch is causing some "ninja test" errors, so the errors should be fixed first.
2019-12-23eolian: inherit since information from struct to fieldFelipe Magno de Almeida
Summary: If struct field doesn't explicitly sets since information, then since is inherited from struct documentation if it is available. Reviewers: jptiz, Jaehyun_Cho, woohyun, q66 Reviewed By: q66 Subscribers: cedric, #reviewers, #committers Tags: #efl Maniphest Tasks: T8359 Differential Revision:
2019-12-04eolian: fix a parse bug where composites was treated as implementsDaniel Kolesa
In the specific case where you had "class A extends B composites C" the correct composites branch was ignored and instead the implements branch was used. This was entirely wrong/an oversight that did not appear until now. Other combinations were handled correctly.
2019-12-04eolian: account for entire inheritance trees when compositingDaniel Kolesa
When a class composites an interface, we need to ignore all of its extends (and extends of those) as well as the main interface when doing API checks, as composites essentially provides a guarantee that this *will* be implemented at runtime, which further extends to the whole inheritance tree of that interface. Fixes T8491.
2019-12-02eolian: emit correct c_name for keyword builtinsDaniel Kolesa
2019-12-02eolian_aux: do not leakMarcel Hollerbach
2019-11-15eolian: fix memory leak when using error objectsDaniel Kolesa
2019-10-09eolian: Leave default text for libeolian usersLauro Moura
Summary: Instead of setting the default text at the library level, keep the summary empty if nothing is provided. The libeolian users them are free to check if the summary was actually empty or a placeholder text was added. ref T8309 Test Plan: Run attached tests Reviewers: q66, segfaultxavi Subscribers: cedric, brunobelo, #reviewers, felipealmeida, #committers Tags: #efl Maniphest Tasks: T8309 Differential Revision:
2019-10-07Pyolian gendoc: add ability to generate only the stable APIDave Andreoli --exclude-beta generate the docs excluding all the classes/types/etc in beta state, a bit hackish but do the job. There are some broken links around that refer to objects in beta state that are (correctly) not generated, nothing we can do to fix this.
2019-09-30efl: add code to enforce presence of @since tagsDaniel Kolesa
This is not yet enabled because there's too many instances where this is broken. Ref T7704
2019-09-30Revert "eolian: disallow missing docs for stable API where necessary"Xavi Artigas
I'm afraid but this breaks the mono bindings too close to a release. This also fixes the missing docs errors by adding a lot of inconsistent placeholder text ("No description supplied.", "TBD") which will make finding them later on more complicated. I was the one that asked for this feature but it is not critical at this point, so I suggest we explore some refinements (like T8291) before landing this patch in its current state. This reverts commit 2946cb3c325f27d77354ac1b83b614e3a1d9e1d5.
2019-09-30eolian: disallow missing docs for stable API where necessaryDaniel Kolesa
The things that require docs include classes, variables, typedecls, events and methods/properties. Implements, params, returns, parts and struct/enum fields don't require them. Empty/whitespace only string does not count as documentation.
2019-09-30eolian: fix potential ABI violation in expr serializationDaniel Kolesa
While this may seem safe, and likely is on any 64-bit system, it may not be entirely well defined. And in this case we should not have to worry about copying. Maybe fixes T8276...
2019-09-26eolian: better error message for const on stringsDaniel Kolesa
2019-09-26eolian: rename param direction enum and fields for consistencyDaniel Kolesa
2019-09-26eolian: loosen the requirements on API (don't return stringshare)Daniel Kolesa
2019-09-26eolian: rename event_prefix to event_c_prefix for consistencyDaniel Kolesa
2019-09-26eolian: move EOLIAN_TYPE_BUILTIN_HASH into beta sectionDaniel Kolesa
2019-09-26eolian: stricter checks for const() validityDaniel Kolesa
2019-09-25eolian: expose most API as stableDaniel Kolesa
There is still some TODO with builtin types, parameter directions and prefixes, which will be resolved in the next commits.
2019-09-24eolian: remove support for globalsDaniel Kolesa
This was meant to happen but did not previously happen. It is not ideal to do it now but better do it while we still can. In short, this removes one half of the variables API (keeps constants as they are) and repurposes the API to be only for constants. This is also better for consistency to match errors.
2019-09-24efl: remove remaining instances of .eo global variablesDaniel Kolesa
2019-09-24efl: use new eolian error functionality instead of globalsDaniel Kolesa
Also enable referencing errors in docs.
2019-09-23eolian: allow read-only stringshare in eventsDaniel Kolesa
While the type cannot be moved to the callee, it at least provides a hint that it's a stringshare, leeting people ref it instead of copying.
2019-09-20eolian: rename any_value_ptr -> any_value_ref for consistencyDaniel Kolesa
2019-09-20eolian: string(share) is always const, allow in events out of boxDaniel Kolesa
2019-09-20eolian: make hashes beta-only for nowDaniel Kolesa
They're not completely settled on and we don't even know if we want them at all. So let's make them beta only for now. Ref T8050.
2019-09-19eolian: remove the composite keyword (replaced by composites)Daniel Kolesa
2019-09-19eolian: allow composites keyword in place of compositeDaniel Kolesa
Fixes T8218.
2019-09-19eolian: auto-add composited interfaces into implements if neededDaniel Kolesa
The condition here is that the composited interface does not already appear in the inheritance tree of the given class. If it does, don't add. If it doesn't, add it to the class that specifies the composited block.
2019-09-19eolian: return NULL instead of EINA_FALSE on safety checksDaniel Kolesa
2019-09-18eolian: disallow void for out/inout for stable APIDaniel Kolesa
2019-09-17eolian: skip funcs from beta-classes when unimplemented-checkingDaniel Kolesa
2019-09-17eolian: enable unimplemented function errors for stable APIDaniel Kolesa
2019-09-16eolian: drop @ctor_param and the associated APIsDaniel Kolesa
This has been unused for a while, and has been just lingering around the code, so drop it so it doesn't make it into a release.
2019-09-13eolian: support complex monospace syntax $[...]Daniel Kolesa
This is to allow monospace bits with periods, commas and other non-alphabetical characters. Newlines are not supported (they end the block) and escapes are supported (for ]). Fixes T8213.
2019-09-13eolian: Remove the EOLIAN_PROPERTY_DOC_WARN envvarXavi Artigas
This test is now always enabled, so ALL properties should have property-level documentation. Setter and getter docs are optional.
2019-09-10eolian: hard ban usage of ptr() in stable APIDaniel Kolesa
2019-09-10eolian: account for @by_ref when serializing return typesDaniel Kolesa
This fixes cases such as missing const when having a @by_ref return type. The const should not be avoided there because it is not returning the whole type as const, just what the pointer dereferences to.
2019-09-10eolian: consider @by_ref marked elements ownableDaniel Kolesa
2019-09-10eolian: add an optional warning for ptr() usage in stable APIDaniel Kolesa