Commit Graph

174 Commits

Author SHA1 Message Date
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
Daniel Kolesa 149a0aae52 docs: expose func types via doctree properly 2016-08-12 14:30:48 +01:00
Daniel Kolesa 00049bd798 docs: use more abstracted doctree APIs 2016-08-12 14:22:14 +01:00
Daniel Kolesa a621f0bd1a docs: fully utilize Function's type_str_get 2016-08-12 14:19:32 +01:00
Daniel Kolesa 6de8a1f131 docs: namespace generator for funcs in doctree 2016-08-12 14:16:57 +01:00
Daniel Kolesa 6f71222084 docs: always wrap events from events_get 2016-08-12 14:11:31 +01:00
Daniel Kolesa e0c0b12a94 docs: initial Function in doctree 2016-08-12 14:09:50 +01:00
Daniel Kolesa ca3f418517 docs: theme string retrieval for doctree classes 2016-08-12 13:51:39 +01:00
Daniel Kolesa 79935e1ab3 docs: abstract away class types within doctree 2016-08-12 13:35:57 +01:00
Daniel Kolesa 452b6557aa docs: get rid of dependency of doctree on mappings 2016-08-12 13:25:58 +01:00
Daniel Kolesa ab963858bc docs: always generate arrays instead of iterators in Class 2016-08-11 16:03:12 +01:00
Daniel Kolesa ae1841dd19 docs: implement nspaces_get for Class 2016-08-11 16:00:12 +01:00
Daniel Kolesa d53c622795 docs: initial Class in doctree 2016-08-11 15:49:07 +01:00
Daniel Kolesa 1a5a04ed49 docs: add Event to new the doctree 2016-08-10 16:05:16 +01:00
Daniel Kolesa 88edaa768c docs: unified feature testing in writer api 2016-08-10 15:54:11 +01:00
Daniel Kolesa a3945c9986 docs: disable graph writing from writer api when appropriate 2016-08-10 15:50:19 +01:00
Daniel Kolesa fd54363a4d docs: abstracted writing of folded sections 2016-08-10 15:44:55 +01:00