summaryrefslogtreecommitdiff
path: root/src/bin/eolian/eo1_generator.c (unfollow)
AgeCommit message (Collapse)Author
2014-06-05Eolian: rename internal files.Daniel Zaoui
This files were needed to be renamed a long time ago :-)
2014-06-03Fix gcc warning about uninitialized variable.Guillaume Friloux
2014-06-03Eolian: Use class name and not prefix in the class macro.Daniel Zaoui
So for example a class called Eo_Base with prefix: eo, used to be generated to EO_CLASS instead of EO_BASE_CLASS.
2014-06-03Eolian: Fix bad behavior when the .eo is incorrectDaniel Zaoui
In this case, the section 'implements' contains bad information about the function to override. If the first (at least) function is correct, it will never fail but use the last correct information retrieved from the database. The patch fixes it by checking the result of the database function eolian_implement_information_get. @fix
2014-05-29Eolian: modify 'implement' API parameters.Daniel Zaoui
The function eolian_implement_information_get was returning strings for the class and the function. It was written in this way at the beginning because it was not needed to verify the correctness of the class and the function. Now that we have the namespace feature, this function must check it, meaning that the class and the function are now known. So we can return them instead of returning the strings. The generators had to find the class from the classname. It is no more needed. The C++ generator has been adapted to this new API.
2014-05-29Eolian: modify generators to use internal variables environment.Daniel Zaoui
2014-05-27Eolian: fix coverity issues.Daniel Zaoui
CID 1216274 CID 1216275 CID 1216276 CID 1216277 CID 1216278 CID 1216279 CID 1216280
2014-05-26Eolian/Generator: add support to namespaces.Daniel Zaoui
The C generators now support namespaces generation.
2014-05-26Eolian: modify API to allow future scalabilityDaniel Zaoui
Until now, the functions giving access to class information were taking the class name as parameter. Except the fact that we needed to search into a hash table for the internal class structure, no flexibility is possible. This change consists in modifying most of the APIs using the class name with a new Eolian_Class type and adapt the code of the C and C++ generators accordingly.
2014-05-14Eolian/Generator: fix the class description generation.Daniel Zaoui
The class description was not used during the generation of the legacy and Eo headers.
2014-04-23Eolian: Remove useless functions.Daniel Zaoui
Default ctor/dtor are considered as implemented functions and no more as special functions.
2014-04-23Eolian/Generator: support --eo.Daniel Zaoui
--eo1 is still supported but it will be removed soon.
2014-04-18Eolian/Generator: Fix coverity issues.Daniel Zaoui
Fix CID 1203409 Fix CID 1203410
2014-04-17Eolian/Generator: remove Eo1 generationDaniel Zaoui
2014-04-13Eolian: fix generation of Eo2 functions definitions.Daniel Zaoui
When keys are used in property, the Eo2 macro was not well chosen.
2014-04-10Eolian: Fix generation of Eo APIs.Daniel Zaoui
When return is forced to void, even if the function contains only one parameter, the return type will be void.
2014-04-10Eolian: add support for functions scope.Daniel Zaoui
This patch adds support for protected functions. In the .eo file, the scope (public by default) has to be added before the function name e.g: protected foo ... To access the protected APIs, #define (CLASS)_PROTECTED is needed e.g: #define ELM_BUTTON_PROTECTED
2014-04-10Eolian: generation of Eo2.Daniel Zaoui
The generation of Eo2 can be enabled by defining EO flag in common_funcs.h.
2014-04-08Eolian: rename enums.Daniel Zaoui
Add the EOLIAN namespace to the function types.
2014-04-02Eolian/Lexer: support data type for events.Daniel Zaoui
2014-04-02Eolian: Explicit generation of either method or property in implemented ↵Yossi Kantor
functions
2014-03-27Eolian: extend const attributes for parameters to 'set' properties.Daniel Zaoui
When const is used for parameters into 'set' properties, the generator doesn't prepend 'const'. This fixes this bad behavior.
2014-03-27Eolian: fix virtual pure support.Daniel Zaoui
When a property needs be defined as virtual pure, its type could not be given. It means that, even it was explicit that e.g only the get property if virtual pure, both (set and get) were considered as virtual pure. @fix
2014-03-24Eolian/Generator: more stuff.Daniel Zaoui
Better support of empty events/funcs lists Better support of class constructor Preparation for Eo2: separate Eo1 specific code and common code
2014-03-24Eolian/Generator: detach Eo1 from Legacy generator.Daniel Zaoui
This step is needed to clean the code and to prepare the integration of Eo2 inside Eolian. Except the eo_do invocation, there is no reason why legacy has to know about Eo.
2014-03-19eolian/eo1_generator: Fix leak in error pathStefan Schmidt
We allocated tmpstr so we should free it before we return in the error case. CID 1191926
2014-03-19Eolian/Generator: Don't generate sub ids structure if not needed.Daniel Zaoui
If no methods and properties are declared for a class, no base id and sub_ids structure are generated. @fix
2014-03-19Eolian/Generator: fix generation of events.Daniel Zaoui
2014-03-16Eolian/Generator: Retrieve the Eo prefix from the database instead ofDaniel Zaoui
guessing it.
2014-03-16Eolian/Generator: Improved event generationYossi Kantor
Line breaks in source files and extern definitions of events in header files.
2014-03-13Eolian/Generator: fix generation of headers for const params.Daniel Zaoui
When a parameter of a property is const for get but not for set, the .eo file indicates it by setting a flag 'const' for this parameter. The generation was checking this flag for C files generation but not for H files.
2014-03-11Eolian/Generator: fix generation for return values.Daniel Zaoui
- Remove space between type and variable if a star is present. - Initialize return value to NULL before eo_do. It is needed in case the eo_do invocation fails (NULL object...). - Add const to the internal return value if needed.
2014-03-11Eolian/Generator: fix type when no data type exists.Daniel Zaoui
When data is set as "null", the generator was writing for this data variable "void * *_pd" instead of "void *_pd".
2014-03-11Eolian/Generator: fix for virtual pure implementationsDaniel Zaoui
2014-03-11Eolian: Support of unsigned short as int in va_argYossi Kantor
2014-03-10Eolian/Generator: support NULL pointers for return values.Daniel Zaoui
When an Eo operation returns a value, this one is stored in the last parameter as an out parameter. In case the caller doesn't set a pointer there, the storing will be done in a NULL pointer and will bring to a segfault. The generator has been modified to handle this case. Now, if the ret pointer is NULL, the value will not be returned.
2014-03-10Eolian: add support of eo_prefix and data.Daniel Zaoui
You can add in the .eo file the eo_prefix:... and data:... in case you want to override respectively the Eo prefix and the data type. If "data: null" is used, no data type will be added.
2014-03-09Eolian/Generator: more fixes related to stars to add to params.Daniel Zaoui
2014-03-07Eolian: Fixes into generated files.Daniel Zaoui
- Added Doxygen description to parameters and return - Added default description for parameters - Return type needs to be after all the other parameters - Better handling of stars for pointers: try to figure if a space is needed between the type and the variable (e.g int *a / int a)
2014-03-07Eolian: Coverity fixesDaniel Zaoui
2014-03-06Eolian/Generator: Switch set/get functions generation.Daniel Zaoui
We want to generate first set properties and then get properties to be in accordance with the current op ids order.
2014-03-06Eolian/Generator: Fix comments generation in headers.Daniel Zaoui
Trailing whitespaces were added in description empty lines.
2014-03-03Eolian: Valgrind fixesDaniel Zaoui
2014-03-03Eolian: New features/bugs fixesYossi Kantor
1) Include files now have include guards 2) --gh option generates legacy header with --legacy flag and eo header without --legacy flag 3) EOLIAN keyword is introduced to mark functions used by generated file. 4) * for comments when comment text is empty
2014-03-03Eolian: New generation feature tested and bugs fixedYossi Kantor
1) Underscore for static global names 2) Escape special characters for in-code descriptions 3) Proper spaces for generated lines
2014-03-03Eolian/Generator: fix data type for implement functionDaniel Zaoui
2014-03-03Eolian/Generator: errors handling improvement.Daniel Zaoui
Errors occuring during generation are now propagated to the main (i.e exit code). Logs have been ported to EINA_LOG instead of printf.
2014-03-03Eolian/Generator: implementation prototype changeDaniel Zaoui
Since we know the type of the private data given as parameter of the implemented function, we can set it instead of void *.
2014-03-03Eolian: naming convention for implemented functionsYossi Kantor
The format is now _<current_class>_<inherited_class>_function_name.
2014-03-03Eolian/Generator: add private data to the prototypes of implementationsDaniel Zaoui