Commit Graph

57 Commits

Author SHA1 Message Date
Stefan Schmidt 35c577578a tests eolian: add test cases for type stub generations
While we had the functionality to generate type stubs header we never had
these tested in our unit test setup. Adding to simple cases for struct
and typedef which we already use for normal header generation tests.
2016-03-08 11:14:56 +01:00
Daniel Kolesa e9688e63a5 eolian/generator: add proper generation of references
Adds proper generation of automatic references in docs.
For now events are missing.

@feature
2015-07-07 17:19:13 +01:00
Daniel Kolesa 51f49642b4 eolian: remove the outdated and ugly database printer (needs rework) 2015-06-17 14:26:07 +01:00
Daniel Kolesa 15a64fdc86 eolian: we need import_types_ref.h included in tarball
If we don't, distcheck fails (because of missing file).

@fix
2015-06-08 11:03:33 +01:00
Daniel Kolesa ac0113ba2b eolian/generator: generation for new documentation system
This commit adds the necessary generator logic to emit doc
comments from the new doc syntax. Old doc comments are kept
in for the time being as they're used within the EFL but they
will be removed eventually. This new generator focuses all the
important code in one place, making usage easy.

@feature
2015-06-05 12:15:51 +01:00
Daniel Kolesa 0c729faf68 eolian: initial test file for docs (no APIs to test yet) 2015-06-03 12:06:36 +01:00
Daniel Kolesa 944e44b17d eolian: tests for declaration api 2015-06-01 15:24:00 +01:00
Daniel Kolesa b647448f84 eolian: tests for import 2015-05-19 15:38:31 +01:00
Stefan Schmidt d48c5accea Revert "autotools: enable make check per individual modules."
This reverts commit 35119e7bfd.

Reverted to bring make check back in a working state. Also the way we
want to handle a more modular testing needs discussion.
2015-05-07 20:50:56 +02:00
kabeer khan 35119e7bfd autotools: enable make check per individual modules.
Currently make check runs tests of whole EFL.Enabled running
of tests of individual modules by make check-<modulename>

Signed-off-by: kabeer khan <kabeer.khan@samsung.com>
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-05-07 09:53:07 +02:00
Marcel Hollerbach 1b4a80d477 eolian: fix make distcheck
Summary: null.eo was missing in the makefile.

Test Plan: run make distcheck

Reviewers: q66

Reviewed By: q66

Subscribers: cedric, herdsman

Differential Revision: https://phab.enlightenment.org/D1999
2015-02-19 15:30:02 +01:00
Stefan Schmidt 5271ba069e tests/eolian: Move eo to EXTRA_DIST assignment out of the EFL_ENABLE_TESTS case
When running distcheck with release mode enabled these would not end up in the
tarball. Better make sure these always end up at the right place.
2014-10-21 15:43:01 +02:00
Daniel Zaoui a0b305d853 Eolian: fix Makefile for distcheck.
Files have been added to test descriptions in H files and were missing
in the makefile for distcheck.
2014-10-20 12:20:15 +03:00
Savio Sena 24ac9a223d autotools/tests: Force generation of .eo.{c,h} in Eolian tests. 2014-09-12 16:06:37 -03:00
Savio Sena 32c7d75e37 autotools: Simplify src/Makefile_Eolian.am.
Added a variable to hold .eo files. This patch prepares
Eolian_Makefile.am to force the generation of .eo.c and .eo.h too.
2014-09-12 16:05:19 -03:00
Daniel Kolesa a1646ff61d eolian: remove eo_definitions 2014-09-12 13:42:53 +01:00
Cedric BAIL 3d21c05a40 autotools: let's not forget to include necessary .eo for make check 2014-09-09 12:29:13 +02:00
Daniel Zaoui 56bad2beb0 Eolian/Generator: support @empty and @auto.
Local and base class functions are supported.
When @empty is provided, dummy functions (initializing the parameters with default
values if needed) are generated.
When @auto is provided on properties, access to internal data variables is done. On
set, it will assign parameters values to private data members. On get,
parameters are set with private data members values.

See the supplied tests as examples.

@feature
2014-09-08 10:11:01 +03:00
Daniel Zaoui ffa9ad7daf Eolian/Generator: support params initialization.
This is needed when get properties or methods have to return a
value in case of failure or to initialize parameters.
The way used is to generate an intermediate function that will
initialize the parameters and then invoke the "user" function.
2014-09-03 08:36:20 +03:00
Daniel Kolesa 21530bd5d8 eolian: preliminary support for new constructors section 2014-09-01 15:35:50 +01:00
Stefan Schmidt bc2a718634 tests/eolian: Remove deleted eo file from EXTRA_DIST
Removed in c88c0d9347.
2014-08-25 10:58:13 +02:00
Daniel Kolesa c1afa1b6b5 eolian: add entry point for database validation stage 2014-08-21 16:23:37 +01:00
Daniel Kolesa ef380c56b6 eolian: support for setting a free function to values in eo files 2014-08-21 09:26:05 +01:00
Daniel Kolesa d4031a21bf eolian: test for constants/globals
Also added API to retrieve value of a variable (forgot about that one)
and made it impossible to create extern constants (doesn't make sense)
as well as made it impossible to give extern globals values.
2014-08-21 09:26:04 +01:00
Daniel Kolesa 70bf1eac24 eolian: add infrastructure for globals and constants
Nothing parses yet, and no API is exposed. Also, move the remaining instances of file
inside of existing structures to Eolian_Object and parse basename only once.
2014-08-21 09:26:04 +01:00
Daniel Kolesa 8c1b9ed3e2 eolian: initial API for expression evaluation
This commit also does several side (related) changes. Particularly, it updates
the Eolian C generator to use the new API, it adds missing expr types (null, char)
and masks, updates the API dealing with default return values to use expressions
instead of strings and does several fixes (mainly in lexer) around the place.
It also disallows single quoted strings as those are reserved for characters.
2014-08-21 09:26:03 +01:00
Daniel Kolesa d7ca6dc1c3 eolian: initial support for expression evaluation
There are now functions that let you evaluate Eolian_Expression. They're not exposed
yet. Further improvements will come as well as public API.
2014-08-21 09:26:03 +01:00
Daniel Kolesa e2c51100c7 eolian: add test for class methods/properties
This also fixes a bug in the Eolian parser that handles class properties.
2014-07-24 14:02:46 +01:00
Daniel Zaoui 805d746910 Eolian: Generate typedefs and structs.
This patch permits the generation of typedefs and structs in the
legacy and Eo header files. It includes tests.
2014-07-24 11:59:34 +03:00
Daniel Kolesa 2942d4bdfa eolian: include newly added test files in dist 2014-07-22 11:53:59 +01:00
Daniel Kolesa d7ce4332fe eolian: separate database fill stuff from the parser 2014-07-11 11:31:48 +01:00
Daniel Kolesa 1772ab8a1c eolian: separate database API and internals into different source files 2014-07-10 13:13:46 +01:00
Daniel Kolesa 37bc20298c eolian: refactoring: split up eolian_database into individual files 2014-07-10 12:15:29 +01:00
Daniel Kolesa 5168297fdb eolian: new API: eolian_system_directory_scan, use it 2014-07-07 16:48:54 +01:00
Savio Sena 073b666022 autotools: Fixed 'make examples' and 'make examples-install'
It was broken in set-ups with ($(builddir) != $(srcdir)) && ($(builddir) !=
$(srcdir)/build)
2014-07-02 20:01:09 -03:00
Daniel Kolesa 9b833f1dbd eolian: introducing a new lexer/parser
This handwritten lexer/parser is more strict and cleaner than the previous Ragel based one,
as well as faster and doesn't leak memory (or shouldn't). It's a recursive descent style
parser with separate lexer part (unlike the previous effort) which is run at the same
stage as the parser (so it doesn't pre-lex).

@feature
2014-06-19 16:04:08 +01:00
Daniel Kolesa 0d417e6ebf eolian: remove the ragel file plus support for ragel from the build system 2014-06-19 16:04:07 +01:00
Daniel Zaoui 5c55ce49e6 Eolian: rename internal files.
This files were needed to be renamed a long time ago :-)
2014-06-05 10:11:13 +03:00
Daniel Zaoui 8e4700ce65 Eolian: add support of namespaces.
It is now possible to define a class in a .eo file as e.g:
Elm::Widgets::Button.
Elm and Widgets will be the namespaces of the class Button.

@feature
2014-05-26 13:56:06 +03:00
Daniel Zaoui 5b2ce095a3 Eolian/Tests: add test for events. 2014-05-26 13:56:06 +03:00
Daniel Zaoui 1401ce36b6 Eolian/Tests: add test for overriding functions 2014-05-26 13:56:06 +03:00
Daniel Zaoui 946f845a2b Eolian/Tests: add test for consts
This tests checks the different 'const' possibilities in the .eo file
and their good parsing.
2014-05-26 13:56:06 +03:00
Daniel Zaoui 04cc813813 Eolian: add test for generator.
The test checks the dev code generator.
2014-05-26 13:56:06 +03:00
Daniel Zaoui a541aecf76 Eolian/Generator: add support for implementation source file.
By using -gi option, the generator appends the functions that are
present into the given eo file and missing into the developer file
(given via -o option as an in/out file).

@feature
2014-05-26 13:56:06 +03:00
Daniel Zaoui 8d18e2db3c Eolian/Tests: move parsing tests to a specific file 2014-05-26 13:56:06 +03:00
Daniel Zaoui e4444d2518 Eolian: add support for typedefs.
It includes parser updates, database fill and tests on basic and complex
types.

One can define types in this way:
type Evas_Coord: int; /* Simple type definition */
type List_Objects: Eina_List * <Eo *>;

@feature
2014-05-26 13:56:05 +03:00
Daniel Zaoui 8d8ab37b4d Eolian/Tests: fix distcheck.
The .eo file was not added into EXTRA_DIST and as consequence the test
was failing during distcheck.
2014-04-28 12:05:27 +03:00
Daniel Zaoui d80fabefe9 Eolian/Tests: add test for ctors and dtors. 2014-04-24 15:47:51 +03:00
Daniel Zaoui 0dda45961f Eolian/Tests: Clean makefile + add return comment tests. 2014-04-24 14:20:21 +03:00
Daniel Zaoui 4f35a9a743 Eolian: Fix distcheck
scope.eo was not included in EXTRA_DIST.
2014-04-23 15:54:44 +03:00