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.

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

> regards
> Stefan Schmidt

Regards,
--
Felipe Magno de Almeida

------------------------------------------------------------------------------
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