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
Andy Williams
549f167002
Docs location moved
2017-10-21 16:39:07 +01:00
Daniel Kolesa
c48cde4aed
docs: move write_include out of the writer backend
...
This is a large chunk shared between backends.
2017-10-20 14:29:04 +02:00
Daniel Kolesa
dbf48bf9f5
docs: prepare for markdown gendoc backend
2017-10-20 14:17:10 +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
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
Daniel Kolesa
692ae7adb6
eolian: use consistent pure_virtual naming in API
...
Previously one API used just virtual (incorrect) and one used
virtual_pure (which just sounds weird). So unify with a single
name, pure_virtual, similar as in other lanugages.
This does not change eo file syntax yet.
2017-01-13 15:40:29 +01:00
Daniel Kolesa
a70645e154
eolian: consistent and cleaner error values from APIs
...
Now all error/unknown/etc values returned from APIs are zero,
previously it was a mix of zeroes and minus ones. Also, some
enums that had no error/invalid value before have one now, which
allows for better distinction between what is an error and what
is an intended result.
2017-01-13 15:26:05 +01:00
Daniel Kolesa
2f5db8c7d5
docgen: migrate to new Eolian-provided tokenizer
2016-12-09 17:19:03 +01:00
Daniel Kolesa
8002b3b24e
eolian: remove parsing of pointers and the corresponding APIs
...
Everything should be done via the new ptr() system now.
2016-11-10 16:20:19 +01:00
Stefan Schmidt
299338a550
elua: docgen: follow is_ref to is_ptr rename
...
Docgen was broken after this rename.
2016-11-10 15:14:42 +01:00
Daniel Kolesa
6ecd3c040d
docs: support for documenting variables
2016-10-21 16:01:03 +02:00
Daniel Kolesa
8b948b779c
docs: fix editable section writer erasing wrong fields
2016-09-09 14:48:33 +02:00
Daniel Kolesa
f89fc6c968
docs: add editable sections where possible
2016-09-09 14:43:02 +02:00
Daniel Kolesa
1041edc6dc
docs: actually close all ref files properly in order to not exceed maximum
2016-09-08 13:34:19 +02:00
Daniel Kolesa
1bdc5a008b
docs: add editable section writing to writer
2016-08-31 16:17:25 +01:00
Daniel Kolesa
8e5d46f690
docs: hide date/user/link in included editable sections
2016-08-31 16:10:04 +01:00
Daniel Kolesa
036a1df57f
docs: initial test for user editable sections
2016-08-31 16:01:53 +01:00
Daniel Kolesa
9ecae0ed28
docs: allow false root in namespace tables
2016-08-31 15:53:39 +01:00
Daniel Kolesa
800dbda6a6
docs: separate auto/user from root namespace
2016-08-31 15:50:31 +01:00
Daniel Kolesa
b193a9f840
docs: generate within the docs:efl:auto namespace (for future editable blocks)
2016-08-31 15:18:10 +01:00
Daniel Kolesa
17d79745a3
docs: add an option to disable title plugin usage
2016-08-26 14:45:45 +01:00
Daniel Kolesa
d69d54ff17
docs: let the writer handle title headings
2016-08-26 14:42:19 +01:00
Daniel Kolesa
cdaa4ab68c
docs: generate proper title for all pages
2016-08-26 14:31:33 +01:00
Daniel Kolesa
b04c0cf241
docs: add writer support for pagetitle plugin
2016-08-26 14:28:11 +01:00
Daniel Kolesa
4d701bca2e
docs: generate reference pages for codelink
2016-08-19 14:39:37 +01:00
Daniel Kolesa
feafdb85a4
docs: generate keyword-link.txt for codelink
2016-08-19 14:19:09 +01:00
Daniel Kolesa
1e42cae8a2
docs: fix invalid links in class reference table
2016-08-19 13:59:55 +01:00
Daniel Kolesa
8a74f38071
docs: add include flag verification
2016-08-18 15:12:24 +01:00
Daniel Kolesa
8ff134472e
docs: add writer support for include plugin
2016-08-18 14:50:24 +01:00
Daniel Kolesa
2bee9169d9
docs: move all of serializers to doctree
2016-08-17 13:50:01 +01:00
Daniel Kolesa
d11cc5ddb5
docs: move type serializer into doctree
2016-08-17 13:42:29 +01:00
Daniel Kolesa
066a2f9fd7
docs: move type cstr retrieval to doctree
2016-08-17 13:34:20 +01:00
Daniel Kolesa
e1a4274e97
docs: add Type to doctree and remove direct eolian api usages
2016-08-16 14:53:04 +01:00
Daniel Kolesa
e592f774ca
docs: reduce the Expression API to just what's necessary
2016-08-16 14:39:04 +01:00
Daniel Kolesa
206d323281
docs: add Expression node type
2016-08-16 14:37:45 +01:00
Daniel Kolesa
ef8a66a41d
docs: correctly wrap struct/enum fields in doctree
2016-08-15 15:12:34 +01:00
Daniel Kolesa
35abb3c34d
docs: add Typedecl to doctree
2016-08-15 15:04:04 +01:00
Daniel Kolesa
570437c64e
docs: use the variable getters in all places
2016-08-15 14:45:36 +01:00
Daniel Kolesa
c98df1c586
docs: add static getters for wrapped variables
2016-08-15 14:41:59 +01:00
Daniel Kolesa
f43b8e24cc
docs: initial Variable in doctree
2016-08-15 14:36:24 +01:00
Daniel Kolesa
5a00524a8b
docs: no need to include eolian in stats
2016-08-15 14:26:19 +01:00
Daniel Kolesa
c122992884
docs: remove the mappings module
2016-08-15 14:25:04 +01:00
Daniel Kolesa
c910db509a
docs: add method to get parameter's direction name
2016-08-15 14:18:36 +01:00
Daniel Kolesa
3e92d64808
docs: generic namespace generator in Node
2016-08-15 14:14:33 +01:00
Daniel Kolesa
bd944a377b
docs: remove some direct eolian api usages
2016-08-15 14:06:20 +01:00
Daniel Kolesa
6f10cb94cd
docs: wrap func params in doctree
2016-08-15 14:03:53 +01:00
Daniel Kolesa
b6d869c3f3
docs: move all eolian init logic into doctree
2016-08-15 13:53:01 +01:00
Daniel Kolesa
e9ddce647c
docs: abstract away directory scan
2016-08-15 13:50:32 +01:00
Daniel Kolesa
c17ee4027a
docs: abstract away object scope enum
2016-08-15 13:48:13 +01:00
Daniel Kolesa
4761f31687
docs: remove some unused funcs in docgen
2016-08-15 13:43:25 +01:00
Daniel Kolesa
c32a8ff125
docs: integrate fallback func doc into Function
2016-08-15 13:38:53 +01:00