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
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
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
Daniel Kolesa
b8599bff9f
docs: add since tag writing into doctree
2016-08-09 17:19:12 +01:00
Daniel Kolesa
a31c9367be
docs: initial documentation tree
...
This will abstract away Eolian APIs to get more maintaineable code.
For now, the Eolian_Documentation structure is abstracted away.
2016-08-09 15:20:43 +01:00
Daniel Kolesa
13245db06c
docs: make dark theme default, add switch --graph-theme-light
2016-08-04 16:45:34 +01:00
Daniel Kolesa
35eebf5c2c
docs: add default dark theme (via --graph-theme-dark) in docgen
2016-08-04 16:43:29 +01:00
Daniel Kolesa
a43fda4ddc
docs: put graph before hierarchy
2016-08-02 17:35:14 +01:00
Daniel Kolesa
e540a9864b
docs: allow rank dir and size to be changed in theme
2016-08-02 16:47:54 +01:00
Daniel Kolesa
ad358a80e9
docs: support for foldable inheritance graphs
2016-08-02 15:46:03 +01:00
Daniel Kolesa
3c34a53cb8
docs: add theme loader for graphs
2016-08-02 15:32:50 +01:00
Daniel Kolesa
085623006d
elua: add table serializer/deserializer
...
This is important for docgen use (reading theme configs).
2016-07-29 14:27:26 +01:00
Daniel Kolesa
63a3da0c0f
docs: support for writing edge styles for individual connections
2016-07-28 14:19:12 +01:00
Daniel Kolesa
26ebd20db8
docs: initial bits for theming support for graphs
2016-07-28 14:09:35 +01:00
Daniel Kolesa
3c7a99935e
docs: split type serializers and keyword ref into their own module in docgen
2016-07-22 13:27:24 +01:00
Daniel Kolesa
0364dc3173
docs: split off writer and utils into modules in docgen
2016-07-20 15:29:53 +01:00
Daniel Kolesa
5f7bc3fbfb
docs: begin modularizing the doc generator script
2016-07-20 15:03:49 +01:00
Daniel Kolesa
0d126eab35
elua: enable module lookups in apps location
...
This will allow for better organization of the docgen script.
2016-07-19 16:19:42 +01:00
Daniel Kolesa
bb509c4a2d
docs: generate a keyword list for use by codelink plugin
2016-07-18 15:34:28 +01:00
Daniel Kolesa
e263ee0121
docs: more detailed stats (print intermediate percentages)
2016-07-14 16:07:08 +01:00
Daniel Kolesa
e321ef22a4
docs: generate separate doc pages for events
2016-07-14 15:32:19 +01:00
Daniel Kolesa
d70cbecc3a
docs: generate more info about events
2016-07-12 11:14:03 +01:00
Daniel Kolesa
a8eb31f146
docs: generate proper descriptions for structs and enums
2016-07-11 16:04:06 +01:00
Daniel Kolesa
db98dd00d0
docs: much improved enum/struct/typedef C signatures
2016-07-07 15:52:00 +01:00
Daniel Kolesa
1a1fc6172c
docs: support refs and new types in generator
2016-07-07 15:23:45 +01:00
Daniel Kolesa
e07d520fa2
docs: update gendoc.lua to latest eolian API
2016-06-22 17:46:53 +01:00
Daniel Kolesa
375179b47f
eolian: support @protected for accessors (get/set)
...
Previously it was only possible to set it for the whole property.
@feature
2016-06-09 16:55:24 +01:00
Daniel Kolesa
56edc594c3
docs: add an experimental elua based documentation generator
...
This is an Eolian-using doc gen written with Elua. It will be used to generate
the Dokuwiki skeleton for new EFL docs.
@feature
2016-05-12 12:04:18 +01:00
Daniel Kolesa
5ad9a8542b
elementary: enable lua binding gen
2016-03-29 11:23:43 +01:00
Daniel Kolesa
825349c7b8
eolian: improve function_full_c_name_get API
...
It's now generalized to work properly with legacy functions
as well as correctly append suffixes. Thus, it can be easily
used with the documentation generator and in other places.
@feature
2015-07-08 12:10:20 +01:00
Daniel Kolesa
87a88b5685
elua: remove obsolete xgettext wrapper
2015-07-01 14:51:00 +01:00
Daniel Kolesa
1d6c60738c
elua: remove unused code from lualian
2015-06-10 17:33:14 +01:00
Daniel Kolesa
59ecddb55e
elua: generate separate key/value numbers for getters/setters
2015-05-28 15:41:30 +01:00
Daniel Kolesa
a7dea04b26
eolian: merge eo_file_parse and eot_file_parse
2015-05-22 17:32:21 +01:00
Daniel Kolesa
5c199857c9
eolian: distinguish between get/set for property keys/values retrieval
2015-05-20 17:03:37 +01:00
Daniel Kolesa
3a685d40c0
elua lib: add a func to retrieve the current translation lang
2015-05-06 15:05:23 +01:00
Daniel Kolesa
f4baae3f14
elua: lualian generator code cleanup
2015-04-02 16:18:37 +01:00
Daniel Kolesa
72579fcaf7
elua: cleanup lualian class generation
2015-04-02 15:08:47 +01:00
Daniel Kolesa
79a01f9ab3
elua: take __tostring from object metatable on robjects
2015-03-02 16:10:50 +00:00
Daniel Kolesa
1392518ec2
elua: readonly object __dtor support
2015-03-02 16:03:18 +00:00
Daniel Kolesa
356ed88525
elua: add transparent destructor support to elua objects
2015-03-02 13:51:22 +00:00
Daniel Kolesa
244707a3a7
elua: completely revamped object system
...
These changes now allow us to do proper __tostring overrides and require
fewer method references, as everything shares a single metatable.
2015-02-25 15:45:47 +00:00
Daniel Kolesa
1e83761810
elua: multiple inheritance aware is_a
2015-02-25 15:16:35 +00:00
Daniel Kolesa
212571c406
elua: guarantee multiple inheritance availability on any object
2015-02-25 15:11:52 +00:00
Daniel Kolesa
4ecedc5198
elua: add object system mixin support without interfering with parents
2015-02-25 15:06:10 +00:00
Daniel Kolesa
9593a720c1
elua: correct inheritance system in lualian generator
2015-02-25 14:43:27 +00:00
Daniel Kolesa
2255508b0b
elua: extra generator info for inheritance handling (and easy lookups)
2015-02-25 13:33:28 +00:00
Daniel Kolesa
c18b1704a9
elua: delegative multiple inheritance support in util object system
2015-02-25 13:03:00 +00:00
Daniel Kolesa
8abe1a06f8
elua: correct eo inheritance behavior
...
Now we try to treat first inherit as a parent and everything else as a mixin.
If the first inherit is not a class (interface or mixin), every inherit is
treated as a mixin.
@fix
2015-02-05 11:10:29 +00:00
Daniel Kolesa
c78fc161cf
elua: more getopt.lua features
...
Argument count limit is now supported. The source has been cleaned up and
unified so that less code repeating is done. The module is now environment
safe, not depending on specific metatable being set on strings. More callbacks
have been added and error messages are now more descriptive.
2015-01-05 16:51:01 +00:00
Daniel Kolesa
9330f4684c
elua: autocorrect in getopt
2014-12-19 14:12:46 +00:00
Daniel Kolesa
70017eddb0
elua: handle getopt callback failures
2014-12-19 13:27:12 +00:00
Daniel Kolesa
0f6cac43e5
elua: getopt updates
2014-12-18 16:09:58 +00:00
Daniel Kolesa
110e6c5abb
elua: document getopt.lua
2014-12-17 17:09:47 +00:00
Daniel Kolesa
c65221c0ae
elua: move core scripts to src/scripts
2014-12-11 16:59:27 +00:00
Carsten Haitzler
3082bbc3ce
pkgbuild - enable scim by default for input methods and sdl is pointless
2013-12-23 13:38:54 +09:00
Carsten Haitzler
fd2993a86f
efl: pass distcheck.
...
SVN revision: 78924
2012-11-05 14:42:44 +00:00
Vincent Torri
785f2a6b3a
merge : add eina
...
currently, examples, tests and benchmark are not set. That's the next things i'll do
SVN revision: 76710
2012-09-16 10:57:48 +00:00