path: root/src/bin/eolian/eo_generator.c (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-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/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: 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-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-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.
2014-07-24eolian/generator: add support for class methods/propertiesDaniel Kolesa
2014-07-23eolian: eolian_parameters_get -> eolian_function_parameters_getDaniel Kolesa
2014-07-23eolian: list_get -> get, find_by -> get_byDaniel Kolesa
2014-07-23Eolian: modify APIs to return iterators instead of lists.Daniel Zaoui
The change affects the C and the C++ generators.
2014-07-11eolian: s/dflt/default/gDaniel Kolesa
2014-07-09eolian: the entire API is now const correctDaniel Kolesa
2014-07-09eolian: refactoring step sixDaniel Kolesa
Move Eolian_Function as well, plus fix const correctness of several API funcs.
2014-07-09eolian: refactoring step fiveDaniel Kolesa
Move from all instances of Eolian_Type to Eolian_Type*.
2014-07-09eolian: refactoring step fourDaniel Kolesa
Move from all isntances of Eolian_Function_Parameter to Eolian_Function_Parameter* plus const fixes.
2014-07-09eolian: refactoring step threeDaniel Kolesa
Move from all instances of Eolian_Event and Eolian_Implement to Eolian_Event* and Eolian_Implement*.
2014-07-09eolian: refactoring step twoDaniel Kolesa
Move from all instances of Eolian_Class to Eolian_Class*.
2014-07-08eolian/generator: add asterisk on inout tooDaniel Kolesa
2014-06-30eolian/generator: shadow fixDaniel Kolesa
2014-06-30eolian: _CLASS -> _CLASS/INTERFACE/MIXINDaniel Kolesa
2014-06-30eolian: new type APIDaniel Kolesa
This new API supports function pointer types, multiple type subtypes, const attribute without parsing the name string, own attribute for any partial type and more. This commit also updates the C and C++ generators so that they compile and generate correct code. @feature
2014-06-30eolian: new API: eolian_function_full_c_name_get - reduces duplication of codeDaniel Kolesa
2014-06-20eolian/generator: public api func name deduplication, spank tasn if it breaksDaniel Kolesa
2014-06-10Eolian/Generator: use a specific define for the Eo APIs.Daniel Zaoui
The generation of EOAPI instead of EAPI for the Eo functions is only needed for code readibility.
2014-06-09Eolian/Generator: Fix comments generation.Daniel Zaoui
This patch: - removes the @def from Doxygen, as it is not correct for API functions. - fixes the generation of class comments. When no class description is supplied, no comment should be added.
2014-06-08Eolian/Generator: concentrate the function name calculation to oneDaniel Zaoui
place. Instead of having the calculation (class name + function name + set/get) in many places in the code, it is now in one place and accessible via a function environment structure.
2014-06-08Eolian/Generator: remove unused code.Daniel Zaoui
The removed code was needed for Eo1 and is no more necessary.