Age | Commit message (Collapse) | Author |
|
This files were needed to be renamed a long time ago :-)
|
|
|
|
So for example a class called Eo_Base with prefix: eo, used to be
generated to EO_CLASS instead of EO_BASE_CLASS.
|
|
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
|
|
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.
|
|
|
|
CID 1216274
CID 1216275
CID 1216276
CID 1216277
CID 1216278
CID 1216279
CID 1216280
|
|
The C generators now support namespaces generation.
|
|
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.
|
|
The class description was not used during the generation of the legacy
and Eo headers.
|
|
Default ctor/dtor are considered as implemented functions and no more as
special functions.
|
|
--eo1 is still supported but it will be removed soon.
|
|
Fix CID 1203409
Fix CID 1203410
|
|
|
|
When keys are used in property, the Eo2 macro was not well chosen.
|
|
When return is forced to void, even if the function contains only
one parameter, the return type will be void.
|
|
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
|
|
The generation of Eo2 can be enabled by defining EO flag in
common_funcs.h.
|
|
Add the EOLIAN namespace to the function types.
|
|
|
|
functions
|
|
When const is used for parameters into 'set' properties, the generator
doesn't prepend 'const'.
This fixes this bad behavior.
|
|
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
|
|
Better support of empty events/funcs lists
Better support of class constructor
Preparation for Eo2: separate Eo1 specific code and common code
|
|
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.
|
|
We allocated tmpstr so we should free it before we return in the error case.
CID 1191926
|
|
If no methods and properties are declared for a class, no base id and
sub_ids structure are generated.
@fix
|
|
|
|
guessing it.
|
|
Line breaks in source files and extern definitions
of events in header files.
|
|
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.
|
|
- 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.
|
|
When data is set as "null", the generator was writing for this data
variable "void * *_pd" instead of "void *_pd".
|
|
|
|
|
|
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.
|
|
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.
|
|
|
|
- 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)
|
|
|
|
We want to generate first set properties and then get properties to be
in accordance with the current op ids order.
|
|
Trailing whitespaces were added in description empty lines.
|
|
|
|
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
|
|
1) Underscore for static global names
2) Escape special characters for in-code descriptions
3) Proper spaces for generated lines
|
|
|
|
Errors occuring during generation are now propagated to the main (i.e
exit code).
Logs have been ported to EINA_LOG instead of printf.
|
|
Since we know the type of the private data given as parameter of the
implemented function, we can set it instead of void *.
|
|
The format is now _<current_class>_<inherited_class>_function_name.
|
|
|