summaryrefslogtreecommitdiff
path: root/src/lib/eolian
Commit message (Collapse)AuthorAgeFilesLines
* eolian: disallow ptr() on things that are already pointer-likeDaniel Kolesa2017-11-034-32/+45
| | | | | | | | This disallows deeply nested pointers, you can only explicitly ptr() on types that are strictly value types. For a few cases where it was necessary to override this behavior, you can use legacy(ptr(x)) as a temporary measure.
* eolian: only allow reference (ownable) types in containersDaniel Kolesa2017-11-021-1/+12
|
* eolian: add part validation (including dup check with funcs)Daniel Kolesa2017-11-011-0/+25
|
* eolian: add @cref as alternative to @inDaniel Kolesa2017-11-012-3/+10
| | | | | | This is a "pass by reference to const" equivalent. There is no explicit pointer and currently it's the same as ptr(const(x)) on the type. However, it is also usable on properties.
* eolian: properly free partsDaniel Kolesa2017-10-313-0/+19
|
* eolian: fill parts into dbDaniel Kolesa2017-10-312-10/+40
|
* eolian: Add some color to those warning messagesJean-Philippe Andre2017-10-317-45/+97
| | | | | Note: This is not using eina_log, not entirely sure why, but this doesn't prevent us from adding some color.
* eolian: Skip @beta APIs for duplicate warningsJean-Philippe Andre2017-10-311-4/+12
| | | | | | | | | | | | | | No warnings: export EOLIAN_WARN_FUNC_DUPLICATES=0 No beta warnings: export EOLIAN_WARN_FUNC_DUPLICATES=1 All warnings including beta: export EOLIAN_WARN_FUNC_DUPLICATES=2 EOLIAN_WARN_FUNC_DUPLICATES is not an API and may change in the future as we improve the tool :)
* eolian: make inherits_get return a list of classes, not stringsDaniel Kolesa2017-10-255-14/+9
| | | | | | | | Most of the time you need to retrieve the class from the string anyway, so remove this relic of old Eolian and gain some small performance benefits and extra convenience. Subtly breaks API but everything should be updated.
* eolian: add part definitionDaniel Kolesa2017-10-252-0/+13
|
* eolian: enable duplicate validation but only warn for nowDaniel Kolesa2017-10-251-1/+6
| | | | | Use the EOLIAN_WARN_FUNC_DUPLICATES environment variable to enable those warnings.
* eolian: only check for validation where really necessaryDaniel Kolesa2017-10-241-13/+1
|
* eolian: check for inheritance tree function conflictsDaniel Kolesa2017-10-241-21/+41
| | | | | Now a class cannot define a method/property of some name if there already is something of the same name within the inheritance tree.
* eolian: validate classes in a recursive mannerDaniel Kolesa2017-10-243-2/+16
| | | | | This allows for proper order of validation which will improve our performance when also validating for name duplicates.
* eolian: keep track of which objects are validatedDaniel Kolesa2017-10-242-36/+74
|
* eolian: initial parsing for parts in eo filesDaniel Kolesa2017-10-242-1/+31
|
* eolian: there should be nothing depending on efl config in our public header.Cedric BAIL2017-10-191-3/+0
|
* eolian: validate inner types of complex typesDaniel Kolesa2017-09-281-0/+8
| | | | | This makes sure the inner types are all correctly defined and that freefuncs are actually correctly filled.
* elua: bind new eolian type builtin APIDaniel Kolesa2017-09-221-0/+1
|
* eolian: add a way to query the builtin type of a typeDaniel Kolesa2017-09-224-0/+83
|
* eolian: add any_value_ptrDaniel Kolesa2017-09-223-3/+8
| | | | | | Because pointer Eina_Values and value Eina_Values have slightly different semantics (when it comes to resource management) it's better to split them.
* eolian: rename generic_value to any_valueDaniel Kolesa2017-09-222-2/+2
|
* eolian: remove leftover codeDaniel Kolesa2017-09-225-31/+27
|
* eolian: remove static_array and terminated_arrayDaniel Kolesa2017-09-227-77/+0
| | | | | | | These types are of questionable value and the API was not entirely thought out - remove for now, and if a legitimate use is found later, they may be readded (with a better API), but typically it seems best to redesign the bad APIs around safe containers...
* eolian: merge REGULAR and COMPLEX typesDaniel Kolesa2017-09-226-28/+23
|
* eolian: add mstringDaniel Kolesa2017-09-223-8/+4
| | | | | | This is a new type representing a mutable string (no const). Regular strings cannot be made mutable with @owned because they might be hidden behind typedefs.
* eo: make more freefuncs implicitDaniel Kolesa2017-09-221-1/+5
|
* eolian: remove old ownership systemDaniel Kolesa2017-09-155-32/+1
|
* eolian: correctness fixes in tests and eo filesDaniel Kolesa2017-09-152-2/+7
|
* eolian: switch validation to new ownership systemDaniel Kolesa2017-09-151-1/+1
|
* eolian: add API to check for @ownedDaniel Kolesa2017-09-152-0/+19
|
* eolian: store ownership info in typesDaniel Kolesa2017-09-152-12/+6
| | | | | | Even though ownership info belongs to params/returns/etc at syntax level, we can still store it in the type and turn several API funcs into one this way.
* eolian: parsing of new @owned syntax for complex typesDaniel Kolesa2017-09-152-2/+6
|
* eolian: disallow parsing of warn_unused/owned for funcptrsDaniel Kolesa2017-09-151-5/+6
|
* eolian: initial parsing for @ownedDaniel Kolesa2017-09-153-4/+34
| | | | | | | This is the new ownership system for Eolian, working on params, returns, struct fields or events directly rather than specifying ownership at type level. As the new system will evolve it will gain missing features and necessary checks.
* eolian: default free funcs for builtin typesDaniel Kolesa2017-09-141-2/+36
|
* eolian: more relaxed rules on what is actually ownableDaniel Kolesa2017-09-141-1/+10
| | | | | | For example, aliases to ownable types are now also ownable, which wasn't possible in the previous version, where you could only own actual expanded ownable types.
* eolian: include terminatable checks in ownable checkDaniel Kolesa2017-09-143-19/+8
|
* eolian: inherit freefunc between types/typedeclsDaniel Kolesa2017-09-141-8/+18
|
* eolian: always implicitly validate database and remove its APIDaniel Kolesa2017-09-132-19/+9
|
* eolian: move terminated_array typecheck to validate passDaniel Kolesa2017-09-132-22/+23
|
* eolian: move ownable checks to validation stageDaniel Kolesa2017-09-132-16/+8
|
* eolian: fix float parsing with locales with ',' decpointDaniel Kolesa2017-09-011-0/+1
|
* eolian: remove c_onlyDaniel Kolesa2017-08-305-52/+9
| | | | Unused and of questionable value.
* eolian: @extern for function pointersDaniel Kolesa2017-08-301-9/+12
|
* eolian: remove unused variableDaniel Kolesa2017-08-301-5/+4
|
* eolian: funcptr docs in correct place, remove more qualifiersDaniel Kolesa2017-08-281-7/+1
|
* eolian: less clumsy return type handlingDaniel Kolesa2017-08-281-10/+5
|
* eolian: remove unused qualifiers from func pointersDaniel Kolesa2017-08-281-10/+0
|
* eolian: implement proper return type serializationDaniel Kolesa2017-08-104-42/+52
| | | | | | | This accounts for const so that you can't generate functions that return const values, as that makes no sense. @fix T5024