Hello.

On 14/04/15 11:04, Felipe Magno de Almeida wrote:
> Em 14/04/2015 05:46, "Stefan Schmidt" <ste...@datenfreihafen.org> escreveu:
>> Hello.
> Hello,
>
>> On 14/04/15 06:08, Vitor Sousa wrote:
>>> felipealmeida pushed a commit to branch master.
>>>
>>> http://git.enlightenment.org/core/efl.git/commit/?id=d53038989886a85b75c81a395269f6f349d7d78f
>>>
>>> commit d53038989886a85b75c81a395269f6f349d7d78f
>>> Author: Vitor Sousa <vitorsousasi...@gmail.com>
>>> Date:   Mon Jan 12 12:00:59 2015 -0200
>>>
>>>     eolian_cxx: Add protected methods and events to C++ wrappers and fixes
>>>
>>>     Using eina::string_view in eolian generated interfaces (instead of
>>>     std::string) to allow lightweight passing of both C strings and C++
>>>     std::string.
>>>
>>>     Also, No longer using eina::optional in generated headers for types
>>>     that already implements the concept of null state (like Eo wrappers
>>>     and eina_accessor).
>>>
>>>     Also fix allocating callback objects require by class methods
>>>     (i.e. static) in static vectors so the memory will be freed when the
>>>     programs exit.
>>>
>>>     Added a new test case for testing callbacks on class methods.
>>>
>>>     Moved method definitions and supplementary code from generated C++
>>>     wrappers to auxiliary header file (.eo.impl.hh) generated together
>>>     with the main ".eo.hh" file. Updated Makefiles to list such files in
>>>     the compilation and cleanup processes. Updated .gitignore to include
>>>     these new generated files.
>>>
>>>     Made general adjustments on the documentation of generated C++ wrappers
>>>
>>>     Added "PREDEFINED" preprocessor macro definition in the Doxyfile.in in
>>>     order to make some adjustments for better documentation in the C++
>>>     generated headers.  Excluding generation of documentation for classes
>>>     in the "eo_cxx" namespace (the namespace for "abstract" eolian C++
>>>     wrappers).  Now generating the documentation for the events too.
>>>     Hiding some auxiliary code from being documented. Some aesthetic
>>>     adjustments for generated white space. Generate documentation for the
>>>     main constructor of C++ wrappers and added auxiliary grammars to list
>>>     parameters names.
>>> ---
>>>  .gitignore                                         |   1 +
>>>  doc/Doxyfile.in                                    |   6 +-
>>>  src/Makefile_Ecore_Audio_Cxx.am                    |   7 ++
>>>  src/Makefile_Ecore_Cxx.am                          |   6 ++
>>>  src/Makefile_Edje_Cxx.am                           |   2 +
>>>  src/Makefile_Efl_Cxx.am                            |   6 ++
>>>  src/Makefile_Eo_Cxx.am                             |   4 +-
>>>  src/Makefile_Eolian_Cxx.am                         |  10 +-
>>>  src/Makefile_Eolian_Cxx_Helper.am                  |   3 +
>>>  src/Makefile_Evas_Cxx.am                           |  37 ++++++-
>>>  src/bin/eolian_cxx/convert.cc                      |   3 +
>>>  src/bin/eolian_cxx/eolian_cxx.cc                   |  48 ++++++++--
>>>  src/bin/eolian_cxx/eolian_wrappers.hh              |  21 +++-
>>>  src/bin/eolian_cxx/type_lookup_table.cc            |  34 +++----
>>>  src/bindings/eo_cxx/eo_concrete.hh                 |   6 ++
>>>  src/bindings/eo_cxx/eo_cxx_interop.hh              |  52 ++++++++++
>>>  src/examples/eolian_cxx/Makefile.am                |   7 +-
>>>  src/lib/eolian_cxx/eo_generate.hh                  |   7 +-
>>>  src/lib/eolian_cxx/eo_types.hh                     |  31 +++++-
>>>  src/lib/eolian_cxx/grammar/comment.hh              |   8 +-
>>>  .../grammar/eo_class_constructors_generator.hh     |  61 +++++++++++-
>>>  .../grammar/eo_class_events_generator.hh           |  11 ++-
>>>  .../grammar/eo_class_functions_generator.hh        |  18 ++--
>>>  src/lib/eolian_cxx/grammar/eo_class_generator.hh   |  33 +++++--
>>>  .../grammar/eo_class_scope_guard_generator.hh      |  61 ++++++++++++
>>>  src/lib/eolian_cxx/grammar/eo_header_generator.hh  |  30 ++++--
>>>  .../grammar/inheritance_base_generator.hh          |  73 +++++++++++---
>>>  src/lib/eolian_cxx/grammar/parameters_generator.hh | 106 
>>> +++++++++++++++------
>>>  src/lib/eolian_cxx/grammar/type_generator.hh       |  26 ++++-
>>>  src/tests/eolian_cxx/callback.c                    |   6 ++
>>>  src/tests/eolian_cxx/callback.eo                   |   6 ++
>>>  src/tests/eolian_cxx/eolian_cxx_test_callback.cc   |  13 +++
>>>  32 files changed, 620 insertions(+), 123 deletions(-)
>>>
>> You two realize that we are in code freeze for 1.14 right now? We are
>> actually in beta phase already which I would to bring down to fixes or
>> even critical fixes.
>>
>> When I look at this set of 10 patches some of them could count as fixes
>> and one might even ignore the benchmarking ones.
>>
>> In my book at least eolian_cxx should be handled like the rest of core
>> since we have it enabled by default. Which means no big feature code
>> dumps after the freeze.
>>
>> Would be good to hear from you why you pushed this this set at this
>> point in time.
> I should have asked to merge this patches as exceptional. However,
> they were required because it fixes compilation errors with
> features that Eolian has started using that were not implemented in
> eolian_cxx, which caused compilation errors with a few eo files
> that were not being compiled by oversight. (e.g, ecore_exe).
>
> Also, most API changes on the generator were needed so the
> generated code would actually be useful and correct in some
> cases, like for example the
> use of eina::string_view for @inout parameters. Whereas
> it used std::string before, which can't at all be used as a
> @inout parameter because it uses its own buffer and the
> use of named parameters instead of signatures because it
> failed on constructors with the same signature (like in
> ecore_timer). So, it wasn't really features.
>
> So, even though the patches are quite big (and involve changing
> generator, examples, tests and Makefiles, which made them bigger),
> they are really important _fixes_ to the C++ API _and_ to EFL's
> eolians file's compilation to C++ code.

ok, we clarified this also on IRC. All good. raster also quoted that
Felipe announced it on IRC while I was sleeping.

> Though, that doesn't excuse haven't asked to merge first. I'm
> really sorry for that.

I would say either explain it in the commit message or send a quick mail
to e-devel (async to avoid the /me sleeping race conditions).

regards
Stefan Schmidt

------------------------------------------------------------------------------
BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT
Develop your own process in accordance with the BPMN 2 standard
Learn Process modeling best practices with Bonita BPM through live exercises
http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_
source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to