Commit Graph

162 Commits

Author SHA1 Message Date
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
Gustavo Sverzut Barbieri 678e8dfdc3 eo_debug: add lifecycle debug options, allow run-in-tree and use eina_btlog.
As usual with our code, EFL_RUN_IN_TREE=1 will lead to usage of
binaries from the current build dir instead of system.

To make user life easier, add -l/--lifecycle-debug and
-L/--lifecycle-no-debug options, as well as -h/--help. The
lifecycle-debug option will export the correct environment variables,
such as EO_LIFECYCLE_DEBUG, EO_LIFECYCLE_NO_DEBUG and
EINA_LOG_LEVELS=eo_lifecycle:4 if no such level was set for that
domain.

Last but not least, pass all command's stderr thru eina_btlog so
backtraces are automatically translated to function names, files and
lines. This one was a bit trickier to respect colors and stdout/stderr
contents, see comments in the script.
2016-12-06 14:06:54 -02: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