eolian: function pointers

Desktop / Enlightenment / EFL Core Libraries - Lauro Moura [expertisesolutions.com.br] - 18 June 2017 11:09 EDT

First steps toward explicit function pointer support in eolian.

To declare a function pointer type, use the following syntax, similar to a regular eolian method declaration.

function FunctionName { params {

} return: Return type }

1634c14 eolian: function pointers
src/bin/eolian/headers.c | 21 +++
src/bin/eolian/sources.c | 52 +++++++
src/bin/eolian/types.c | 45 ++++++
src/lib/eolian/Eolian.h | 26 +++-
src/lib/eolian/database_function_api.c | 7 +-
src/lib/eolian/database_type_api.c | 9 ++
src/lib/eolian/database_validate.c | 3 +
src/lib/eolian/eo_lexer.c | 1 +
src/lib/eolian/eo_lexer.h | 1 +
src/lib/eolian/eo_parser.c | 108 +++++++++++++
src/lib/eolian/eolian_database.h | 1 +
src/tests/eolian/data/function_as_argument.eo | 25 +++
.../eolian/data/function_as_argument_impl_ref.c | 28 ++++
src/tests/eolian/data/function_as_argument_ref.c | 49 ++++++
src/tests/eolian/data/function_as_argument_ref.h | 26 ++++
src/tests/eolian/data/function_types.eot | 30 ++++
src/tests/eolian/data/function_types_ref.h | 18 +++
src/tests/eolian/eolian_generation.c | 32 ++++
src/tests/eolian/eolian_parsing.c | 168 +++++++++++++++++++++
19 files changed, 646 insertions(+), 4 deletions(-)

Upstream: git.enlightenment.org


  • Share