eolian: strict function type input checks in APIs
authorDaniel Kolesa <d.kolesa@osg.samsung.com>
Thu, 12 Jan 2017 15:56:49 +0000 (16:56 +0100)
committerDaniel Kolesa <d.kolesa@osg.samsung.com>
Thu, 12 Jan 2017 15:56:49 +0000 (16:56 +0100)
commit078a4eef71a97ea869d8dfc8a8e60d90b8e42265
tree8cb03b0c2b5a2f4712a76c3359162653387f6019
parentdeb1e58e06120c95373fe54ef84fdfb0e7d1a851
eolian: strict function type input checks in APIs

Strictness of various Eolian APIs has been enhanced, for example
eolian_class_function_get_by_name now won't return anything if
you request an EOLIAN_PROPERTY and the found func is just an
EOLIAN_PROP_GET, and various APIs won't accept arbitrary inputs
like EOLIAN_UNRESOLVED or EOLIAN_PROPERTY now, instead you will
need to provide EOLIAN_PROP_GET, EOLIAN_PROP_SET or EOLIAN_METHOD
explicitly.

The purpose of this is to reduce potential bugs and fix ambiguous
behavior. Thanks to use of EINA_SAFETY, appropriate errors should
be printed into terminal when an API is used incorrectly.
src/lib/elementary/elm_diskselector.eo
src/lib/eolian/Eolian.h
src/lib/eolian/database_class_api.c
src/lib/eolian/database_fill.c
src/lib/eolian/database_function.c
src/lib/eolian/database_function_api.c
src/lib/eolian/database_implement_api.c
src/lib/eolian/eolian_database.h
src/tests/eolian/eolian_parsing.c