Commit Graph

169 Commits

Author SHA1 Message Date
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 a72cac2223 docgen: stub out units so the generator works again 2017-05-30 17:15:54 +02:00
Daniel Kolesa bf2ac6c937 elua: update for unit api usage 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 bf7b3e5dfc docgen: include C usage snippet on event pages 2017-03-07 17:15:24 +01:00
Daniel Kolesa 2b02dd56fd docgen: better event C info, show private/protected in listing 2017-03-07 16:42:22 +01:00
Daniel Kolesa 3d3ea8dd92 docgen: run types/vars together with classes in parallel script 2017-03-03 17:51:50 +01:00
Daniel Kolesa 0a252c4463 docgen: add a simple script that does doc generation in parallel 2017-03-03 17:46:40 +01:00
Daniel Kolesa bfeddb8e09 docgen: only parse the necessary class when generating only one 2017-03-03 17:34:40 +01:00
Daniel Kolesa 7ef2e4dfd4 docgen: do not generate foreign classes' functions and events
Only generate the classes' own funcs/events (and overridden). Let other
classes generate their own stuff. This prevents some files from being
generated multiple times, which more than halves generation time.
2017-03-03 16:36:47 +01:00
Daniel Kolesa 81c84999fd docgen: add a pass to generate individual classes 2017-03-03 16:35:03 +01:00
Daniel Kolesa bc7561d8d5 docgen: add clist pass to list all classes 2017-03-03 16:18:21 +01:00
Daniel Kolesa ea436e49d1 docgen: initial support for multipass gen 2017-03-03 16:16:05 +01:00
Daniel Kolesa 79f10fc0a0 docgen: move stats and keyref build into later stage
That way we can multipass the doc build without worrying about stats.
2017-03-03 15:53:59 +01:00
Daniel Kolesa 3f5e1b4e1e docgen: add info about protected/private methods/properties in listing 2017-03-02 16:34:22 +01:00
Daniel Kolesa 4f540c1a7c docgen: fix broken inheritance graphs 2017-02-24 17:17:52 +01:00
Daniel Kolesa 4f9c3e0679 docgen: more useful event listing 2017-02-24 17:12:28 +01:00
Daniel Kolesa 9124f1f8c6 docgen: disregard override info for displaying property get/set 2017-02-24 16:24:36 +01:00
Daniel Kolesa 5cf08ef1a9 docgen: minor speed optimizations and cleanups 2017-02-24 16:10:00 +01:00
Daniel Kolesa 3f92a51b9a docgen: merge overridden and other categories for methods/properties 2017-02-24 15:47:25 +01:00
Daniel Kolesa 4405d1fc7e docgen: initial support for inherited events listing 2017-02-23 18:17:22 +01:00
Daniel Kolesa dcac79d5b6 docgen: add "Others" section with all remaining callables to class pages 2017-02-23 17:09:32 +01:00
Daniel Kolesa 96c1c30db4 docgen: merge methods and properties in listing 2017-02-23 17:09:32 +01:00
Daniel Kolesa 8e65011a4b docgen: properly handle overridden property docs 2017-02-23 17:09:32 +01:00
Daniel Kolesa 7249dd94ab docgen: add a way to get numerical id of a function 2017-02-22 18:29:18 +01:00
Daniel Kolesa 967af33da2 docgen: more useful function listings in class pages
Now there are C signatures visible.
2017-02-22 18:29:18 +01:00
Daniel Kolesa d8a0daaf58 docgen: inherit overridden method/property brief descriptions on class pages 2017-02-21 16:48:52 +01:00
Daniel Kolesa cbe7859d1c docgen: add -p to print what exactly is being generated currently 2017-02-16 17:29:23 +01:00
Daniel Kolesa f297454ac0 docgen: make sure all class retrievals are cached 2017-02-16 17:20:00 +01:00
Daniel Kolesa 0dfb6516a1 docgen: cache function instantiations 2017-02-16 17:12:43 +01:00
Daniel Kolesa b9090529e5 docgen: cache class retrievals for performance 2017-02-16 16:06:56 +01:00
Daniel Kolesa 9540e96107 docs: avoid possible duplicates when figuring out all impls of a func 2017-02-09 16:04:59 +01:00
Daniel Kolesa 5e50c9d52b docs: list all existing implements of a method/property 2017-02-09 15:58:52 +01:00
Daniel Kolesa 051f277be2 docs: reverse inheritance hierarchy api in doctree 2017-02-09 15:58:52 +01:00
Daniel Kolesa 995b1e480c docgen: link to the method an overriden one overrides 2017-01-26 17:52:00 +01:00
Daniel Kolesa ff8688e169 docgen: autodocument inherited methods/properties 2017-01-26 17:52:00 +01:00
Daniel Kolesa 3090e9c3ae docs: WIP overridden method/property documentation support in docgen 2017-01-20 17:20:28 +01:00
Daniel Kolesa c2b6fbccbc docs: use new implement based doc API 2017-01-20 15:32:00 +01:00
Daniel Kolesa 8207fd9cc5 docs: remove some duplicate doctree methods 2017-01-20 15:15:50 +01:00
Daniel Kolesa ab7b6815e0 docs: add implement to doctree 2017-01-20 15:10:23 +01: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
Daniel Kolesa 35c5e89269 eolian: remove/add APIs and clean up implements system
As there is no need to have separate is_auto, is_empty and
is_pure_virtual for functions and implements (each function has
its own base implement by default) I removed the function ones.
Instead, I added a way to retrieve a function's base implement
so that you can instead do the checks on the implement even when
you only have the function.

I also moved base implement build directly into the parser instead
of the database filler. That allows for significant cleanup. I
also removed distinction of implement pointers in Eolian_Function
for get and set as implements now always contain an entire thing
so the pointer was always the same anyway.

Things should still behave more or less the same, but ordering
of generated functions has changed because ordering of implements
has changed.
2017-01-16 15:55:06 +01:00
Daniel Kolesa 8146db3b77 docs: generate correct eolian function signatures
Now signatures don't contain full class name, just func name.
2017-01-13 15:46:18 +01:00
Daniel Kolesa cb3f8304e0 eolian: change eo file syntax @virtual_pure -> @pure_virtual 2017-01-13 15:44:09 +01:00