eolian: add a new references system to help replace pointers
authorDaniel Kolesa <d.kolesa@osg.samsung.com>
Mon, 6 Jun 2016 14:22:56 +0000 (15:22 +0100)
committerDaniel Kolesa <d.kolesa@osg.samsung.com>
Mon, 6 Jun 2016 14:28:10 +0000 (15:28 +0100)
commit9752c44a48c7ff228782a6f9c193542045bfa2b6
tree6ab9e553282ff7c5734031cedf1459096cece871
parent614d1fad6e20f0ea1dc715d561ba24e48422f2c3
eolian: add a new references system to help replace pointers

It's now possible to mark struct fields and function params as "references",
which causes them to become pointers in C (in bindings, they become whatever
is necessary). They're not a part of the type and are much more restricted
than pointers, allowing bindings to be easier. This system will be gradually
utilized and expanded as required.

@feature
21 files changed:
src/bin/eolian/common_funcs.c
src/bin/eolian/common_funcs.h
src/bin/eolian/docs_generator.c
src/bin/eolian/eo_generator.c
src/bin/eolian/impl_generator.c
src/bin/eolian/legacy_generator.c
src/bin/eolian/types_generator.c
src/bindings/luajit/eolian.lua
src/lib/eolian/Eolian.h
src/lib/eolian/database_type.c
src/lib/eolian/database_type_api.c
src/lib/eolian/eo_lexer.h
src/lib/eolian/eo_parser.c
src/lib/eolian/eolian_database.h
src/tests/eolian/data/class_simple.eo
src/tests/eolian/data/class_simple_ref.c
src/tests/eolian/data/class_simple_ref_eo.h
src/tests/eolian/data/class_simple_ref_legacy.h
src/tests/eolian/data/struct.eo
src/tests/eolian/data/struct_ref.c
src/tests/eolian/eolian_parsing.c