summaryrefslogtreecommitdiff
path: root/src/bin/eolian (follow)
AgeCommit message (Collapse)Author
2014-10-19Eolian/Generator: support common descriptions for properties.Daniel Zaoui
2014-10-02Eolian/Generator: Update to use Eolian API.Daniel Zaoui
We now use the Eolian library to retrieve the name of the C function used to get the Eo_Class pointer (e.g evas_object_class_get).
2014-09-25eolian: remove the need to pass prefix to eolian_function_full_c_name_getDaniel Kolesa
2014-09-25eolian: properly replace commas in event_c_name_get and cleanup generatorDaniel Kolesa
2014-09-25eolian: new API: eolian_event_c_name_getDaniel Kolesa
2014-09-23fix config.h inclusion across the treeMike Blumenkrantz
2014-09-23eolian: silence uninitialized var in goto end branchJérémy Zurcher
2014-09-08Eolian/Generator: support @empty and @auto.Daniel Zaoui
Local and base class functions are supported. When @empty is provided, dummy functions (initializing the parameters with default values if needed) are generated. When @auto is provided on properties, access to internal data variables is done. On set, it will assign parameters values to private data members. On get, parameters are set with private data members values. See the supplied tests as examples. @feature
2014-09-05eolian: use implements only to retrieve functions listDaniel Kolesa
This also changes the implements list so that it also includes virtual functions.
2014-09-04eolian: prepare for implements list expansionDaniel Kolesa
As the implements list will soon contain all methods and properties, do some preparations. The Eolian library now fills in class field in implements early on when the implement is local. The Eolian C generator now checks for local implements and skips them (so that things don't break).
2014-09-03Eolian/Generator: support params initialization.Daniel Zaoui
This is needed when get properties or methods have to return a value in case of failure or to initialize parameters. The way used is to generate an intermediate function that will initialize the parameters and then invoke the "user" function.
2014-08-29eolian: APIs to check if an implement references get/setDaniel Kolesa
2014-08-28eolian: use EINA_C_ARRAY_LENGTHDaniel Kolesa
2014-08-28eolian/generator: use size of the array instead of fixed intDaniel Kolesa
2014-08-28eolian generator - fix num of types handledCarsten Haitzler (Rasterman)
there are only 2 types in the ftype array... not 3! fix CID 1232782
2014-08-27eolian/generator: remove support for custom constructorsDaniel Kolesa
2014-08-27eolian: no need to concat name in this caseDaniel Kolesa
2014-08-27eolian - fix possible leak of name stringCarsten Haitzler (Rasterman)
fixes CID 1232734
2014-08-26eolian: stub header generatorDaniel Kolesa
This adds functionality into eolian_gen to generate a "stub header". The main use for this is to deal with cyclic dependencies between Eo files.
2014-08-22eolian: properly get the legacy attribute of a method/propertyDaniel Kolesa
2014-08-22eolian: refactor the struct/enum field APIsDaniel Kolesa
2014-08-22eolian: guard eo types in legacy headersDaniel Kolesa
2014-08-22eolian: clean up type generation + fix function pointersDaniel Kolesa
2014-08-22eolian: fix type generation for function pointersDaniel Kolesa
2014-08-21eolian: turn db validation into separate APIDaniel Kolesa
2014-08-21eolian: fix shadow warningsDaniel Kolesa
2014-08-21eolian/generator: support for legacy-only functionsDaniel Kolesa
2014-08-21eolian: drop Eina_ValueDaniel Kolesa
Because of Eina_Value being less than optimal in our usage, we're dropping it in Eolian. This simplifies the code and makes it easier to bind to other languages, which will aid new generators. Also, we're dropping long double support from eo files and expressions as it causes an ABI breakage in gcc 4.4.
2014-08-21eolian: get rid of the data hash in Eolian_FunctionDaniel Kolesa
2014-08-21eolian: add support for opaque struct types (+ tests)Daniel Kolesa
2014-08-21eolian/generator: support for private and protected eventsDaniel Kolesa
2014-08-21eolian: get rid of eolian_parameter_information_getDaniel Kolesa
2014-08-21eolian: API refactoringDaniel Kolesa
Remove eolian_implement_information_get. Also, fix some nasty lookup problems.
2014-08-21eolian: API refactoringDaniel Kolesa
Start getting rid of the terrible _information_get APIs, starting with events.
2014-08-21eolian: new API: eolian_class_event_scope_getDaniel Kolesa
2014-08-21eolian: add comments containing original expressions to generated enum fieldsDaniel Kolesa
This required a new API, eolian_expression_serialize.
2014-08-21eolian: allow usage of stack Eina_Value in expr APIDaniel Kolesa
2014-08-21eolian: new API: eolian_type_enum_legacy_prefix_set + generator changesDaniel Kolesa
This change adds a new API to retrieve the legacy prefix for enum members and also adds support for generating enums into the C generator. Besides that, it prevents generation of entire struct contents when the .eo file declares a named struct inside of a typedef - as the struct itself gets generated later on.
2014-08-21eolian: struct/enum fixes and initial test for enumsDaniel Kolesa
2014-08-21eolian: initial API for expression evaluationDaniel Kolesa
This commit also does several side (related) changes. Particularly, it updates the Eolian C generator to use the new API, it adds missing expr types (null, char) and masks, updates the API dealing with default return values to use expressions instead of strings and does several fixes (mainly in lexer) around the place. It also disallows single quoted strings as those are reserved for characters.
2014-08-21eolian: use newly created implicit typedefs in legacy APIDaniel Kolesa
Also update tests accordingly.
2014-08-21eolian: generate implicit typedef for each classDaniel Kolesa
And use these typedefs instead of just Eo in API.
2014-08-20eolain impl generator - fix possible null accessCarsten Haitzler (Rasterman)
fix CID 1231994
2014-08-18eolian - warning-- for eolian impl generatorCarsten Haitzler (Rasterman)
2014-08-16eolain_gen - fix implementation generation - it didn't even compileCarsten Haitzler (Rasterman)
so the test suites were useless because they didn't ecompile what was generated. it was missing a ) at the end of calling eo_do_super to start with. it was missing a call to do_uper fo destructors too. also it didnt deal with the #include "blah.eo.c" at the file end either so it produced uncompilable src at the start. again - also fix. this also fixes test case comparisons to match the now correct generation that compiles.
2014-08-07Eolian/Generator: fix generation of class functions.Daniel Zaoui
The generation for legacy was missing. The patch removes too the EINA_UNUSED flag for static functions data.
2014-08-04eolian: fread fixDaniel Kolesa
Instead of 1 element of size N, we should read N elements of size 1 in order to sensibly compare the result with the result of calling ftell.
2014-08-04eolian/generator: coverity fixDaniel Kolesa
Fixes CID 1229130 (ignoring number of bytes read)
2014-07-28eolian: preliminary eo file support for builtin true/false/nullDaniel Kolesa
Real API will use the new expression system, but that won't get into 1.11.
2014-07-24eolian/generator: properly generate the data arg on class methodsDaniel Kolesa
For class methods, we need to generate unused void*, not a pointer to data struct.