Commit Graph

115 Commits

Author SHA1 Message Date
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
Tom Hacohen b242f50626 Eo: introducing libeo_dbg.so.
This has been in the making for a very long time. Thanks to Marcel for
reminding me to do it.

What is it?
This is a tool to help application developers debug their apps with
everything Eo. Eo is strict, but not as strict as it can be. Many strict
tests and debug are very expensive to implement, and we have so many
hot-paths that even basic "ifs" to check if debugging is enabled  will
add significant overhead to normal running applications. This is why I
created this library. All the expensive tests and bookkeeping should be
wrapped around with "#ifdef EO_DEBUG". With this change, libeo.so is
compiled twice, once normally, and once with this define set (as
libeo_dbg.so). This means that normal eo code will not be affected, but
if you decide to debug your application, all you need to do is:

LD_PRELOAD=/path/to/libeo_dbg.so ./app

Or use the convenient wrapper:
eo_debug ./app

Which will load the debug heavy version.

What's currently there: at the moment, EO_DEBUG enables xref and
data_xref and stricter tests when fetching object data.
In the future, I also plan introducing "zombie objects", which
essentially mean that objects are never really deleted, so you can query
them long after they are gone to get more information on what they were.
So if for example you have an object id that you want to query after the
object has been deleted, you can.

I also plan on having a way to disable/enable certain debug mode
features via env vars, and maybe make the test suite link against this
one instead of the normal one, and possibly add more internal hooks for
the test suite to better inspect internal state?

P.S: The amount of errors spewed out when running it on elementary_test
makes me wish I wrote this earlier. :(

@feature
2016-09-22 13:59:46 +01: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