Commit Graph

26847 Commits

Author SHA1 Message Date
Savio Sena b3bd72cd11 eolian-cxx: Handle exclicitly void-return getters.
Whenever a getter explicitly defines a void return the generated code
shall not convert single-parameter getters in any ways.

Actually the correct approach would be to delegate all conversions to
Eolian Database instead of for the generators.
2014-07-21 22:13:54 -03:00
Savio Sena f6c32ddffc eolian-cxx: Removes more warnings. 2014-07-21 21:32:22 -03:00
Savio Sena 356640dc36 autotools: Added missing .eo to EXTRA_DIST
This fixes "make dist".
2014-07-21 21:12:00 -03:00
Savio Sena 6e8c063f27 eolian-cxx: Added missing keyword.
Keyword "register" is also used in Elementary.
2014-07-21 21:11:33 -03:00
Savio Sena 8ed0f61dc6 eina-cxx: Remove warnings from tests. 2014-07-21 20:18:51 -03:00
Savio Sena 07b75b9997 eolian-cxx: Handle C++ keywords in function names.
When function names are C++ keywords append '_' to it.
2014-07-21 20:17:44 -03:00
Savio Sena 82af4fb19d eo-cxx: Fixed return of the assignment operator. 2014-07-21 19:57:52 -03:00
Shinwoo Kim 971589bf56 eina: Eina_Module - check whether the file exists or not, before memory allocation of Eina_Module
Summary:
I got an issue from emotion_basic_example, because my machine has following directories.

/usr/local/lib/emotion/modules/
├── gstreamer
│   ├── linux-gnu-i686-1.7.99
│   ├── linux-gnu-i686-1.8.0
│   └── linux-gnu-i686-1.8.99
└── gstreamer1
    ├── linux-gnu-i686-1.8.99
    └── v-1.10

The defined MODULE_ARCH is v-1.10, and the _emotion_modules which is returned by eina_module_arch_list_get(); has two items.
Because eina_module_new(); creates Eina_Module, even though the "/usr/local/lib/emotion/modules/gstreamer/v-1.10/module.so"
does not exist.

Test Plan: Create directory without MODULE_ARCH, run emotion_basic_example, and check whether it works properly or not.

Reviewers: raster, seoz, Hermet, woohyun, jpeg, cedric

Subscribers: cedric, seoz

Differential Revision: https://phab.enlightenment.org/D1200

Signed-off-by: Cedric BAIL <c.bail@partner.samsung.com>
2014-07-21 19:33:27 +02:00
Gwanglim Lee 3d534e87c3 eina: Eina_Tiler - return a NULL if intersection of two tilers doesn't exist
Summary:
change eina_tiler_intersection to return a NULL if intersection
of two tilers doesn't exist. and add test case to check it.

This doesn't break ABI/API as this call could already return a NULL value and it
should have been handled by the caller anyway. This just make an expected behavior
more correct.

Test Plan: run eina_suite after building eina test suite

Reviewers: cedric, raster, torori, devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1205

Signed-off-by: Cedric BAIL <c.bail@partner.samsung.com>
2014-07-21 19:33:27 +02:00
Daniel Kolesa 3b8a03cf7b eolian/generator: remove check_same 2014-07-21 17:13:43 +01:00
Daniel Kolesa b81e05def5 eolian: new API: eolian_type_alias_find_by_name, remove the old APIs that take an alias name, update tests 2014-07-21 17:12:35 +01:00
Daniel Kolesa 058a3c314c eolian: rename _types to _aliases 2014-07-21 16:58:12 +01:00
Tom Hacohen 6030b9de79 Configure.ac: Free up the "efl" name for usage.
At the moment we use the fake "efl" library as a dependency for
everything and use it as a way to have global cflags and lib deps. This
is bad as we'd like to have a "real" libefl.

I changed EFL to EFLALL as the new name. Easy to change to something
else if anyone finds this name lacking. It's internal.
2014-07-21 16:53:14 +01:00
Daniel Kolesa e797e40478 eolian: remove Eolian_Typedef, use Eolian_Type instead; allow eolian_type_base_type_get on aliases 2014-07-21 16:53:25 +01:00
Daniel Kolesa 3798eb2f99 eolian: move eina types to namespaced syntax 2014-07-21 16:30:23 +01:00
Daniel Kolesa 6079270c96 eolian: database_type_to_str now respects namespaces (and thus the to-C-type conversion API does too) 2014-07-21 16:08:06 +01:00
Daniel Kolesa a19adb71b9 eolian/generator: add code to check if the newly generated output is the same as old output - disabled for now because of build system issues 2014-07-21 16:00:57 +01:00
Daniel Kolesa ac7f5d0f79 eolian: fill in full_name and namespaces properly, and allow parsing dots in type names 2014-07-21 15:17:59 +01:00
Daniel Kolesa 460cfd9e34 eolian: type_struct_description, type_struct_file -> type_description, type_file 2014-07-21 14:39:14 +01:00
Daniel Kolesa 7117aad879 eolian: new APIs: eolian_type_full_name_get, eolian_type_naespaces_list_get 2014-07-21 14:27:23 +01:00
Daniel Kolesa 197034bfd7 eolian: type_struct_is_extern -> type_is_extern 2014-07-21 14:14:22 +01:00
Daniel Kolesa 6f9c8779c0 eolian: initial code and struct layout for revamped alias API 2014-07-21 14:10:42 +01:00
Daniel Zaoui 0ee9dc4d82 Eina: fix annoying warning during tests. 2014-07-21 15:03:38 +03:00
Daniel Kolesa d4a0e41724 eolian: typo fix 2014-07-21 12:28:25 +01:00
Daniel Kolesa c4fd68f08a eolian: add API to retrieve filename for each typedef and struct 2014-07-21 12:26:44 +01:00
Daniel Kolesa 6caf41e288 eolian: only check redef on actual named structs 2014-07-21 11:47:35 +01:00
Daniel Kolesa 5d1cd61c92 eolian: put structs and typedefs right in the respective hashmaps without going through nodes 2014-07-21 11:42:05 +01:00
Daniel Kolesa 6f805a9998 eolian: check redefinitions in the parser instead (provides line info) 2014-07-21 11:34:14 +01:00
Daniel Kolesa 9262a82ed3 eolian: check for typedef and struct redefinitions 2014-07-21 11:22:49 +01:00
q66 9f0bcdf707 eolian: ouch... fix a major bug, *spanks self* 2014-07-19 13:00:44 +01:00
WooHyun Jung ad8daa2f84 evas: table - when colspan(rowspan) is over 2, padding size should be added.
@ fix
2014-07-19 09:50:59 +09:00
Felipe Magno de Almeida 83db6524ba eldbus-cxx: Used inner braces for initialization of inner struct
This removes lots of warnings when compiling with clang.
2014-07-18 19:23:43 -03:00
Felipe Magno de Almeida ad66192465 eolian-cxx: Fixed generation using abstract return-type instead of C type
The _tmp_ret variable should use the native C type and not the
abstracted C++ type.
2014-07-18 19:20:55 -03:00
Felipe Magno de Almeida b1c9ca5c24 eolian-cxx: Fixed exapmle with support for complex types
Automatic conversion of Evas_Object* to evas::object wrapper broke the
example. Fixed it by using the new feature :).
2014-07-18 19:00:37 -03:00
Felipe Magno de Almeida c1e8918b88 eolian-cxx: Fixed inheritance feature with callbacks
The addition of callbacks was making the inheritance to fail. Fixed
generation by using the C types, instead of the abstracted callback
types for the wrapper functions.
2014-07-18 19:00:35 -03:00
Felipe Magno de Almeida 9c6c7728c0 eolian-cxx: Added callback test
Added test for callback generation and uses
2014-07-18 18:59:44 -03:00
Felipe Magno de Almeida 907544be7b eolian-cxx: Various and various fixes with callbacks
Mimic the callback function generation for other functions that were
being generated incorrectly and inconsistently.
2014-07-18 18:59:12 -03:00
Felipe Magno de Almeida 15d85d7dc6 eolian-cxx: Workaround for callbacks without void* data parameter 2014-07-18 18:57:14 -03:00
Felipe Magno de Almeida 7e84cc0154 eo-cxx: Added a few complex types to lookup table 2014-07-18 18:57:14 -03:00
Felipe Magno de Almeida 3abc94696e Fixed type looking up for complex types 2014-07-18 18:57:14 -03:00
Felipe Magno de Almeida 2ff390e087 Changed uses of std::abort to assert's with better description 2014-07-18 18:57:14 -03:00
Felipe Magno de Almeida 7af91ee8fa eo-cxx: Added support for returning-void function objects 2014-07-18 18:57:14 -03:00
Felipe Magno de Almeida 1848d39588 eo-cxx: Removed the necessity of copying for interoperability of containers 2014-07-18 18:57:14 -03:00
Felipe Magno de Almeida c4faec118e eina-cxx: Added move-constructors to lists 2014-07-18 18:57:14 -03:00
Felipe Magno de Almeida df1c03b56b eo-cxx: Added default-constructor to wref type 2014-07-18 18:57:14 -03:00
Felipe Magno de Almeida e256a92eb1 eina-cxx: Added range_list to range types for eina-cxx
Added range_list which abstracts a ptr_list for wrapper types.
2014-07-18 18:57:14 -03:00
Felipe Magno de Almeida 401cc81355 eolian-cxx: Workaround for multiple callbacks without corresponding void*data
Added workaround for generating classes with methods that have more
than one callback but doesn't have a corresponding void* data
parameter. E.g., elm_box.eo.
2014-07-18 18:57:14 -03:00
Felipe Magno de Almeida d21e400425 eina-cxx: eldbus-cxx: eo-cxx: Fixed test includes and header installation 2014-07-18 18:57:14 -03:00
Felipe Magno de Almeida df5f57d0ad eo-cxx: Added catch-all to_c interoperability function 2014-07-18 18:57:14 -03:00
Felipe Magno de Almeida 10502307a7 eina-cxx: Fixed includ'ing list and array containers and fixed constructor
Added include for eina_list and eina_array for Eina.hh and fixed the
eina_ptrlist constructor receiving a raw Eina_List*.
2014-07-18 18:57:14 -03:00