Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | eolian: disallow ptr() on things that are already pointer-like | Daniel Kolesa | 2017-11-03 | 4 | -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 containers | Daniel Kolesa | 2017-11-02 | 1 | -1/+12 |
| | |||||
* | eolian: add part validation (including dup check with funcs) | Daniel Kolesa | 2017-11-01 | 1 | -0/+25 |
| | |||||
* | eolian: add @cref as alternative to @in | Daniel Kolesa | 2017-11-01 | 2 | -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 parts | Daniel Kolesa | 2017-10-31 | 3 | -0/+19 |
| | |||||
* | eolian: fill parts into db | Daniel Kolesa | 2017-10-31 | 2 | -10/+40 |
| | |||||
* | eolian: Add some color to those warning messages | Jean-Philippe Andre | 2017-10-31 | 7 | -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 warnings | Jean-Philippe Andre | 2017-10-31 | 1 | -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 strings | Daniel Kolesa | 2017-10-25 | 5 | -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 definition | Daniel Kolesa | 2017-10-25 | 2 | -0/+13 |
| | |||||
* | eolian: enable duplicate validation but only warn for now | Daniel Kolesa | 2017-10-25 | 1 | -1/+6 |
| | | | | | Use the EOLIAN_WARN_FUNC_DUPLICATES environment variable to enable those warnings. | ||||
* | eolian: only check for validation where really necessary | Daniel Kolesa | 2017-10-24 | 1 | -13/+1 |
| | |||||
* | eolian: check for inheritance tree function conflicts | Daniel Kolesa | 2017-10-24 | 1 | -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 manner | Daniel Kolesa | 2017-10-24 | 3 | -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 validated | Daniel Kolesa | 2017-10-24 | 2 | -36/+74 |
| | |||||
* | eolian: initial parsing for parts in eo files | Daniel Kolesa | 2017-10-24 | 2 | -1/+31 |
| | |||||
* | eolian: there should be nothing depending on efl config in our public header. | Cedric BAIL | 2017-10-19 | 1 | -3/+0 |
| | |||||
* | eolian: validate inner types of complex types | Daniel Kolesa | 2017-09-28 | 1 | -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 API | Daniel Kolesa | 2017-09-22 | 1 | -0/+1 |
| | |||||
* | eolian: add a way to query the builtin type of a type | Daniel Kolesa | 2017-09-22 | 4 | -0/+83 |
| | |||||
* | eolian: add any_value_ptr | Daniel Kolesa | 2017-09-22 | 3 | -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_value | Daniel Kolesa | 2017-09-22 | 2 | -2/+2 |
| | |||||
* | eolian: remove leftover code | Daniel Kolesa | 2017-09-22 | 5 | -31/+27 |
| | |||||
* | eolian: remove static_array and terminated_array | Daniel Kolesa | 2017-09-22 | 7 | -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 types | Daniel Kolesa | 2017-09-22 | 6 | -28/+23 |
| | |||||
* | eolian: add mstring | Daniel Kolesa | 2017-09-22 | 3 | -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 implicit | Daniel Kolesa | 2017-09-22 | 1 | -1/+5 |
| | |||||
* | eolian: remove old ownership system | Daniel Kolesa | 2017-09-15 | 5 | -32/+1 |
| | |||||
* | eolian: correctness fixes in tests and eo files | Daniel Kolesa | 2017-09-15 | 2 | -2/+7 |
| | |||||
* | eolian: switch validation to new ownership system | Daniel Kolesa | 2017-09-15 | 1 | -1/+1 |
| | |||||
* | eolian: add API to check for @owned | Daniel Kolesa | 2017-09-15 | 2 | -0/+19 |
| | |||||
* | eolian: store ownership info in types | Daniel Kolesa | 2017-09-15 | 2 | -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 types | Daniel Kolesa | 2017-09-15 | 2 | -2/+6 |
| | |||||
* | eolian: disallow parsing of warn_unused/owned for funcptrs | Daniel Kolesa | 2017-09-15 | 1 | -5/+6 |
| | |||||
* | eolian: initial parsing for @owned | Daniel Kolesa | 2017-09-15 | 3 | -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 types | Daniel Kolesa | 2017-09-14 | 1 | -2/+36 |
| | |||||
* | eolian: more relaxed rules on what is actually ownable | Daniel Kolesa | 2017-09-14 | 1 | -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 check | Daniel Kolesa | 2017-09-14 | 3 | -19/+8 |
| | |||||
* | eolian: inherit freefunc between types/typedecls | Daniel Kolesa | 2017-09-14 | 1 | -8/+18 |
| | |||||
* | eolian: always implicitly validate database and remove its API | Daniel Kolesa | 2017-09-13 | 2 | -19/+9 |
| | |||||
* | eolian: move terminated_array typecheck to validate pass | Daniel Kolesa | 2017-09-13 | 2 | -22/+23 |
| | |||||
* | eolian: move ownable checks to validation stage | Daniel Kolesa | 2017-09-13 | 2 | -16/+8 |
| | |||||
* | eolian: fix float parsing with locales with ',' decpoint | Daniel Kolesa | 2017-09-01 | 1 | -0/+1 |
| | |||||
* | eolian: remove c_only | Daniel Kolesa | 2017-08-30 | 5 | -52/+9 |
| | | | | Unused and of questionable value. | ||||
* | eolian: @extern for function pointers | Daniel Kolesa | 2017-08-30 | 1 | -9/+12 |
| | |||||
* | eolian: remove unused variable | Daniel Kolesa | 2017-08-30 | 1 | -5/+4 |
| | |||||
* | eolian: funcptr docs in correct place, remove more qualifiers | Daniel Kolesa | 2017-08-28 | 1 | -7/+1 |
| | |||||
* | eolian: less clumsy return type handling | Daniel Kolesa | 2017-08-28 | 1 | -10/+5 |
| | |||||
* | eolian: remove unused qualifiers from func pointers | Daniel Kolesa | 2017-08-28 | 1 | -10/+0 |
| | |||||
* | eolian: implement proper return type serialization | Daniel Kolesa | 2017-08-10 | 4 | -42/+52 |
| | | | | | | | This accounts for const so that you can't generate functions that return const values, as that makes no sense. @fix T5024 |