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
Davide Andreoli
97289953ec
Pyolian: fix __repr__ for Documentation
2018-03-17 12:06:34 +01:00
Davide Andreoli
2cb896dfab
Pyolian doc generator: update wrt name API changes
...
Argh, this has been difficult... hopefully I have done
this right
2018-03-17 11:37:13 +01:00
Davide Andreoli
35316db2f0
Pyolian: let ctypes automatically convert types
...
Not a big improvement and not so much automatically...
but for sure a bit less to type :)
2018-03-17 10:49:42 +01:00
Davide Andreoli
ef3e487b0c
Pyolian: use tuple instead of list in declarations
...
This is a bit more correct and (maybe) a bit more faster
2018-03-17 10:31:33 +01:00
Davide Andreoli
6ef5f30a85
Pyolian: new API eolian_unit_state_get
2018-03-17 10:19:28 +01:00
Davide Andreoli
0a00e4cca1
Pyolian: new API eolian_object_unit_get
...
Also implemented __repr__ for Unit and State
2018-03-17 10:01:24 +01:00
Davide Andreoli
1ab22e4f00
Pyolian: fix tests wrt name/short_name/full_name API changes
2018-03-17 09:46:17 +01:00
Davide Andreoli
81d15b7cd8
Pyolian: add support EOLIAN_SO_DIR env var
...
Thanks goes to @lauromoura for proposing this in D5840
2018-03-16 20:00:49 +01:00
Daniel Kolesa
bf1e3a702f
eolian: event/function_get_by_name -> by_name_get
2018-03-16 14:26:15 +01:00
Daniel Kolesa
4fd0d5b436
pyolian: remove unneeded bindings in eolian_state
2018-03-14 17:08:36 +01:00
Daniel Kolesa
2d0a25c995
eolian: refactor doc ref resolution API
2018-03-14 16:51:11 +01:00
Daniel Kolesa
3840aa453c
pyolian: update name APIs
2018-03-12 15:48:25 +01:00
Davide Andreoli
c1056d0c62
Pyolian generator: adjust to follow eolian changes
2018-03-11 17:45:14 +01:00
Davide Andreoli
2355df0e4f
Pyolian: remove the useless Object.type binding
...
This is useless in py as Objects are never returned
directly, you always get the correct subtype (Class,
Variable, etc..). It was also clashing with Class.type
2018-03-11 15:52:52 +01:00
Davide Andreoli
752a6b1070
Pyolian: add tests for Eolian_Object
...
Two of the new tests are failing, the problem is that now
we have name clashes between Eolian_Object and Eolian_Class (at least)
For the moment I spotted:
- Object.name clash with Class.name
- Object.type clash with Class.type
Also fixed a typo in eolian_lib.py spotted by the new tests,
and removed the old tests for Declaration.
2018-03-11 15:24:59 +01:00
Davide Andreoli
6f6557e2d0
Pyolian: build the correct type from generic Object
...
This way all the generic Eolian_Object types are automatically
converted to the correct types (Class, Variable, etc...)
2018-03-11 14:28:51 +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
bee3114c2c
pyolian: add support for object retrieval
2018-03-08 23:07:01 +01:00
Daniel Kolesa
f24fa691e7
pyolian: wipe out declaration api
2018-03-08 23:01:01 +01:00
Daniel Kolesa
10448fec97
pyolian: add Eolian_Object APIs and remove obsolete file_get ones
2018-03-08 22:48:01 +01:00
Davide Andreoli
939cb26bd9
Pyolian: new APIs for typedecl lookups
2018-03-01 17:08:56 +01:00
Davide Andreoli
20f7d6f35f
Pyolian: new variable lookup APIs
...
with adjusted tests
2018-03-01 16:35:22 +01:00
Davide Andreoli
0a51dbf2ff
Pyolian: new APIs for class retrieval
...
Also updated tests, generator and gendoc accordly
2018-03-01 15:51:59 +01:00
Davide Andreoli
d176a37f32
Pyolian: add APIs to retrieve units from a state
...
Also fixed a declaration error from previous commit
2018-02-28 14:31:59 +01:00
Davide Andreoli
b7de65272f
Pyolian: add API to get file name of a unit
2018-02-28 14:31:59 +01:00
Davide Andreoli
686aae5572
Pyolian: add API to get children of a unit
2018-02-28 14:31:59 +01:00
Davide Andreoli
9a90343df2
Pyolian: reorder the header file
...
No functional changes, just reordered the declarations
2018-02-28 14:31:59 +01:00
Davide Andreoli
cb431b2b0e
Pyolian: rename Eolian to Eolian_State
2018-02-27 19:14:38 +01:00
Davide Andreoli
191ca9096e
Pyolian: eolian_file_parse -> eolian_state_file_parse
2018-02-27 19:14:38 +01:00
Davide Andreoli
2e43fd3f1c
Pyolian: rename path/filename retrieval APIs
2018-02-27 19:14:38 +01:00
Davide Andreoli
e90c551d74
Pyolian: rename all_files_parse functions
2018-02-27 19:14:38 +01:00
Davide Andreoli
541f04aa79
Pyolian: new APIs for directory scanning
...
eolian_directory_scan => eolian_state_directory_add
eolian_system_directory_scan => eolian_state_system_directory_add
2018-02-27 19:14:38 +01:00
Daniel Kolesa
6a284e48c9
eolian: eolian_* -> eolian_state_*, Eolian -> Eolian_State
2018-02-27 16:12:35 +01:00
Davide Andreoli
0af53f4bc6
Pyolian: improve a bit the namespace generation
...
I still think that namespaces should be directly exposed by eolian.
Currently pyolian provide a namespace implementation but it's
hard to get it right, and it should be really shared between
all eolian users.
2018-02-18 09:35:53 +01:00
Davide Andreoli
7255954ccc
pyolian: improve a bit the 2 example templates
2018-01-25 22:51:42 +01:00
Davide Andreoli
94b6ad8448
pyolian: improve the doc generation
2018-01-24 22:26:40 +01:00
Davide Andreoli
8bbc16bf7e
pyolian test: just rename the main eolian state
2018-01-23 21:32:28 +01:00
Davide Andreoli
9160bfe901
Pyolian: fix and tests for recent changes
...
q66: please leave the pyolian updating work to me,
it's harder for me to fix wrong stuff instead of just
implement myself ;)
2018-01-16 20:53:20 +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
Davide Andreoli
0179d34f0f
Pyolian: add tests for recently added funcs
2018-01-14 12:05:33 +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
Davide Andreoli
f003c6702d
Pyolian: cache classes and properties
...
This give an overrall speed up of aroud 50% in the full doc generation.
2018-01-05 12:48:28 +01:00
Davide Andreoli
6421ea6d3c
doc generator: show params and return type for functions
2018-01-04 11:06:06 +01:00
Davide Andreoli
ee53d64dcb
Pyolian: quite complete documentation for usage and template syntax
...
The same content is available in phab wiki at:
https://phab.enlightenment.org/w/pyolian/
2018-01-03 14:00:33 +01:00
Davide Andreoli
a2b24d0948
Pyolian: fix segfault on shutdown
...
also improve abit all_namespaces performance by using a set (hashable)
2018-01-02 21:52:57 +01:00
Davide Andreoli
b9ed84f4ed
Pyolian: implement an utility class: Namspace
...
Update tests and generator to use this new feature
2018-01-02 15:44:43 +01:00