Daniel Kolesa
543902f2ba
eolian: make doc ref resolution global
...
Doc refs no longer introduce new dependencies into files. Instead,
they're parsed globally, and any doc ref lookup is also made
globally. This allows unit based dependencies to correspond more
to what files actually really need at compile time/runtime, with
docs being irrelevant to that; it also simplifies the API.
The doc resolution API now takes Eolian_State instead of
Eolian_Unit, too.
2018-04-18 16:38:14 +02:00
Daniel Kolesa
bf1e3a702f
eolian: event/function_get_by_name -> by_name_get
2018-03-16 14:26:15 +01:00
Daniel Kolesa
0ee6410add
elua: inherit state from unit in eolian bindings
2018-03-14 17:03:33 +01:00
Daniel Kolesa
2d0a25c995
eolian: refactor doc ref resolution API
2018-03-14 16:51:11 +01:00
Daniel Kolesa
7d6e2561a4
elua: update eolian name APIs
2018-03-12 14:27:20 +01:00
Daniel Kolesa
342974977f
eolian: resolve to Eolian_Objects instead of voids
2018-03-09 15:25:36 +01:00
Daniel Kolesa
c7fd43ad4e
eolian: return Eolian_Object_Type from ref resolver
...
This needs only one enum and allows for better interop.
2018-03-09 15:25:36 +01:00
Daniel Kolesa
b58c901d2d
elua: remove declaration api from eolian bindings
2018-03-08 22:58:22 +01:00
Daniel Kolesa
59aabb0945
elua: update eolian bindings for latest APIs
...
Added support for Eolian_Object, made other luaified types
"inherited" from Eolian_Object, removed type-specific file_get
as it was replaced by Object's file_get, declarations API still
in place
2018-03-08 22:35:27 +01:00
Daniel Kolesa
482c5d1ba2
eolian: get rid of old APIs for typedecl retrieval
2018-03-07 13:53:08 +01:00
Daniel Kolesa
f596a97da6
eolian: remove old variable retrieval APIs
2018-03-07 13:25:28 +01:00
Daniel Kolesa
9e8d96671e
elua: add missing APIs to eolian bindings
2018-03-02 14:39:57 +01:00
Daniel Kolesa
93dad9d6bb
elua: objectify unit and redo class retrieval
2018-03-02 14:04:41 +01:00
Daniel Kolesa
9144045925
elua: update path retrieval APIs
2018-03-02 13:52:13 +01:00
Daniel Kolesa
5701ce22a3
elua: remove old dir scan/parse APIs
2018-03-02 13:43:16 +01:00
Daniel Kolesa
e27336cee1
elua: add new API prototypes in eolian bindings
2018-03-02 13:37:00 +01:00
Daniel Kolesa
6a284e48c9
eolian: eolian_* -> eolian_state_*, Eolian -> Eolian_State
2018-02-27 16:12:35 +01:00
Daniel Kolesa
d47610a732
eolian: do not require unit when stringifying types
...
As it is no longer necessary to pass unit when evaluating exprs,
it is not necessary to pass it here either. Convert all the APIs
to the new style and update all instances in our tree.
2018-01-16 16:39:05 +01:00
Daniel Kolesa
dd2e579fec
eolian: do not require unit for expr eval APIs
...
The necessary information is now stored directly in the expr
during database validation.
Also enable expr validation for params.
2018-01-16 16:37:52 +01:00
Daniel Kolesa
c6436337a4
eolian: aliased_base_get funcs don't need unit
2018-01-12 18:05:13 +01:00
Daniel Kolesa
19c16b671e
eolian: type_typedecl_get doesn't need a unit
2018-01-12 18:05:13 +01:00
Daniel Kolesa
707ed05d58
eolian: do not require unit for type_class_get
2018-01-12 18:05:13 +01:00
Daniel Kolesa
18e18ca74c
eolian: remove remaining global state (+ modify APIs accordingly)
2017-12-15 17:11:11 +01:00
Daniel Kolesa
c8aa30e698
eolian: make declaration APIs use units
2017-12-15 17:11:11 +01:00
Daniel Kolesa
8a1f93f698
eolian: pass state where necessary
...
This modifies the API so that global state removal is made
possible. It's still used internally for now but externally
the state is contained.
2017-12-05 16:41:42 +01:00
Daniel Kolesa
4f8a9b50f4
eolian: make inherits_get return a list of classes, not strings
...
Most of the time you need to retrieve the class from the string
anyway, so remove this relic of old Eolian and gain some small
performance benefits and extra convenience.
Subtly breaks API but everything should be updated.
2017-10-25 16:25:41 +02:00
Daniel Kolesa
5e788e3a5c
elua: bind new eolian type builtin API
2017-09-22 21:03:23 +02:00
Daniel Kolesa
1577c576e6
eolian: remove static_array and terminated_array
...
These types are of questionable value and the API was not entirely
thought out - remove for now, and if a legitimate use is found
later, they may be readded (with a better API), but typically it
seems best to redesign the bad APIs around safe containers...
2017-09-22 18:01:15 +02:00
Daniel Kolesa
4bae2a7385
eolian: merge REGULAR and COMPLEX types
2017-09-22 17:46:02 +02:00
Daniel Kolesa
60d6aeeb2d
elua: update for new eolian ownership system
2017-09-15 17:52:38 +02:00
Daniel Kolesa
e55ab81835
eolian: always implicitly validate database and remove its API
2017-09-13 23:58:47 +02:00
Daniel Kolesa
8b5d555cf5
elua: update eolian bindings and make docgen work again
2017-08-30 19:46:41 +02:00
Daniel Kolesa
10fd3c32e8
eolian: remove c_only
...
Unused and of questionable value.
2017-08-30 19:46:41 +02:00
Daniel Kolesa
e38418dd9d
elua: update eolian bindings with c type serialization change
2017-08-10 12:19:59 +02:00
Daniel Kolesa
d2280f91a1
eolian: use unit in typedecl c_type_get
2017-05-30 17:15:54 +02:00
Daniel Kolesa
a5e66b3421
eolian: doc token ref resolver now takes unit
2017-05-30 17:15:54 +02:00
Daniel Kolesa
81a1d9659a
eolian: type_class_get takes unit
2017-05-30 17:15:54 +02:00
Daniel Kolesa
c234b5ee69
eolian: expr eval APIs now take units
2017-05-30 17:15:54 +02:00
Daniel Kolesa
0bf6fd6297
eolian: update lua bindings with new unit apis
2017-05-30 17:15:54 +02:00
Daniel Kolesa
67bc32d9ac
eolian: pass unit to enum get by name
2017-05-30 17:15:54 +02:00
Daniel Kolesa
9c2dae3531
eolian: pass unit to struct get by name
2017-05-30 17:15:54 +02:00
Daniel Kolesa
52a0255e38
eolian: pass unit to alias get by name
2017-05-30 17:15:54 +02:00
Daniel Kolesa
6d0ee5d2df
eolian: return real nil on parse failure
2017-05-30 17:15:54 +02:00
Daniel Kolesa
9699d074bc
eolian: pass unit to all_classes_get
2017-05-30 17:15:53 +02:00
Daniel Kolesa
45a73a0878
eolian: pass unit to class get_by_name/file
2017-05-30 17:15:53 +02:00
Daniel Kolesa
83bf422159
eolian: make all variable lookups take unit
2017-05-30 17:15:53 +02:00
Daniel Kolesa
cee3b604a3
eolian: make by-file variable lookups take unit
2017-05-30 17:15:53 +02:00
Daniel Kolesa
653cf6bac3
eolian: make by-name variable lookups take unit
2017-05-30 17:15:53 +02:00
Daniel Kolesa
7da0549970
eolian: make eolian_file_parse return unit
2017-05-30 17:15:53 +02:00
Daniel Kolesa
95181f2d36
eolian: move base function doc API into implements
...
This allows us to unify retrieval of docs for both regular and
overridden funcs without having two separate APIs. It's currently
missing validation and docgen is still not adjusted properly for
it either, but at least there's this. Enables retrieval of docs
for overridden funcs by default as well.
2017-01-19 15:09:07 +01:00