Daniel Kolesa
edcd81ee49
eolian: update class name APIs
2018-03-12 16:03:37 +01:00
Daniel Kolesa
c7b44dfa2c
eolian gen: switch from decl api to object api
2018-03-08 19:57:55 +01:00
Daniel Kolesa
434b0a399d
eolian: remove old class retrieval APIs
2018-03-07 13:08:49 +01:00
Daniel Kolesa
9ab4560459
eolian*: replace various directory_scan/file_parse
2018-03-02 13:30:27 +01:00
Daniel Kolesa
6a284e48c9
eolian: eolian_* -> eolian_state_*, Eolian -> Eolian_State
2018-02-27 16:12:35 +01:00
Daniel Kolesa
d47610a732
eolian: do not require unit when stringifying types
...
As it is no longer necessary to pass unit when evaluating exprs,
it is not necessary to pass it here either. Convert all the APIs
to the new style and update all instances in our tree.
2018-01-16 16:39:05 +01:00
Daniel Kolesa
c8aa30e698
eolian: make declaration APIs use units
2017-12-15 17:11:11 +01:00
Daniel Kolesa
8a1f93f698
eolian: pass state where necessary
...
This modifies the API so that global state removal is made
possible. It's still used internally for now but externally
the state is contained.
2017-12-05 16:41:42 +01:00
Daniel Kolesa
2f81b26367
eolian: scan system dir by default
...
The '-S' option lets you reverse that. But by default, most
people will want the prefix to be scanned for eo files.
2017-11-14 13:47:09 +01:00
Daniel Kolesa
753359230a
eolian: more intuitive generation options and mrge impls into .c
...
Previously the output base name used to include extension, now
you don't need to specify an extension and it's determined from
the input file name instead.
Also, implementation boilerplate used to merge with .eo.c before,
which made no sense. Now it's merged with .c instead when it
exists or makes a new .c file when it doesn't.
2017-11-10 14:48:59 +01:00
Daniel Kolesa
e55ab81835
eolian: always implicitly validate database and remove its API
2017-09-13 23:58:47 +02:00
Daniel Kolesa
45a73a0878
eolian: pass unit to class get_by_name/file
2017-05-30 17:15:53 +02:00
Daniel Kolesa
6d453bc694
eolian gen: pass the unit around
2017-05-30 17:15:53 +02:00
Jean Guyomarc'h
b67c13810b
eolian: help and version shall not cause an error exit status
...
eolian_gen called with --help or --version is a valid action. It shall
terminates with the 0 exit status.
2017-05-06 21:15:40 +02:00
Daniel Kolesa
f84e7ddc70
eolian gen: imply -gT if -o T:f is specified
...
If you specify type-explicit output filename, this automatically
adds it so that it's generated even without specifying -gT.
This is meant to help user friendliness. Also add a note about
this to help listing.
2017-01-27 17:13:04 +01:00
Daniel Kolesa
6e8b628864
eolian: rmeove dependency on basename/libgen.h/evil
2017-01-21 18:06:00 +01:00
Jaehyun Cho
c32c5dd222
eolian: Fix to unregister eina log domain if it was registered.
2016-12-06 19:05:00 +09:00
Daniel Kolesa
82ef73ca18
eolian: remove type silencing stuff entirely
...
this was useful during transition, but not anymore
2016-10-25 18:02:23 +02:00
Daniel Kolesa
306aba7848
eolian gen: add -s for silencing type errors in validation
2016-10-25 16:01:54 +02:00
Daniel Kolesa
3758d5b9fa
eolian gen: always validate database
2016-10-25 15:59:41 +02:00
Daniel Kolesa
0ee248fb86
eolian gen: generate vars in source files for globals with value
2016-10-20 15:11:43 +02:00
Daniel Kolesa
9553fd9640
eolian gen2: move to eolian gen (as the old one is gone)
2016-10-07 13:34:47 +02:00
Daniel Kolesa
4cc17ae28a
eolian gen2: remove old eolian gen
2016-10-07 13:26:08 +02:00
Daniel Kolesa
d558c0122f
eolian generator: close the file with zero write
2016-03-11 16:19:53 +00:00
Daniel Kolesa
97adf6d52b
eolian generator: check fwrite return value currectly
...
This fixes CID 1327247.
@fix
2016-03-11 13:16:34 +00:00
Stefan Schmidt
29028a50ce
eolian_gen: mention the option for generating a stub header in the example use
...
Listed in the available options already but better also list it in the example
usage where the other three generation types are listed as well.
2016-03-08 11:14:56 +01:00
Daniel Kolesa
30bc1d285b
eolian: allow silencing of type errors in validation
...
This allows generators to silence type errors in validation in order
to reduce duplicate error messages when generating multiple files.
Also adjusted the C generator to only emit type errors when generating
Eo header files.
@feature
2016-02-10 16:05:07 +00:00
Jean-Philippe Andre
6dcde68d24
Eolian gen: Don't fail if file is empty (--gi)
...
@fix
2015-12-14 16:17:52 +09:00
Andy Williams
a0d3e77e55
[eolian_gen] remove documentation for removed argument.
...
Used to be mandatory, is now not recognised, let's not confuse people @fix
2015-11-19 22:59:09 +00:00
Daniel Kolesa
247c860aac
eolian generator: finalize refactoring main.c
2015-11-09 15:02:32 +00:00
Daniel Kolesa
10883d080f
eolian generator: refactor the main function (remove cruft)
2015-11-09 15:02:32 +00:00
Daniel Kolesa
a29d6aed66
eolian generator: remove useless --eo argument
2015-11-09 15:02:32 +00:00
Daniel Kolesa
653e258eec
eolian generator: cleaner file write
2015-10-12 11:45:38 +01:00
Daniel Kolesa
89acf82bff
eolian generator: merge legacy and eo header gen entry points
2015-10-12 11:35:59 +01:00
Daniel Kolesa
1853051618
eolian generator: refactoring of file reads
2015-09-29 14:24:44 +01:00
Daniel Kolesa
97cb6c5ca9
eolian generator: no need to replace newlines on win32 (lexer can deal with it)
2015-09-29 13:54:30 +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
51f49642b4
eolian: remove the outdated and ugly database printer (needs rework)
2015-06-17 14:26:07 +01:00
Daniel Kolesa
98497f8406
eolian: use fprintf(stderr) instead of logging where it makes sense
2015-05-29 14:57:32 +01:00
Daniel Kolesa
a7dea04b26
eolian: merge eo_file_parse and eot_file_parse
2015-05-22 17:32:21 +01:00
Daniel Zaoui
e41d1f2cb4
Eolian/Generator: support eot files
2015-05-20 10:37:07 +03:00
Daniel Kolesa
72dcd2da03
eolian: add a functional "import" statement
2015-05-19 15:26:53 +01:00
Mike Blumenkrantz
5375e154fe
fix config.h inclusion across the tree
2014-09-23 15:56:46 -04:00
Daniel Kolesa
d09262b011
eolian: stub header generator
...
This adds functionality into eolian_gen to generate a "stub header".
The main use for this is to deal with cyclic dependencies between Eo files.
2014-08-26 17:10:14 +01:00
Daniel Kolesa
f35b5e35df
eolian: guard eo types in legacy headers
2014-08-22 14:40:01 +01:00
Daniel Kolesa
cdd4860520
eolian: turn db validation into separate API
2014-08-21 16:35:59 +01:00
Daniel Kolesa
bb24b60638
eolian: generate implicit typedef for each class
...
And use these typedefs instead of just Eo in API.
2014-08-21 09:26:03 +01:00
Daniel Kolesa
8c677a1f0e
eolian: fread fix
...
Instead of 1 element of size N, we should read N elements of size 1 in
order to sensibly compare the result with the result of calling ftell.
2014-08-04 10:56:35 +01:00
Daniel Kolesa
91bf465d52
eolian/generator: coverity fix
...
Fixes CID 1229130 (ignoring number of bytes read)
2014-08-04 09:59:36 +01:00
Daniel Zaoui
805d746910
Eolian: Generate typedefs and structs.
...
This patch permits the generation of typedefs and structs in the
legacy and Eo header files. It includes tests.
2014-07-24 11:59:34 +03:00