Daniel Kolesa
797e417d1e
Merge branch 'devs/q66/eolian_gen_next'
...
This merges a rewritten Eolian C generator which replaces the previous
generator. The old generator did not properly reflect the design choices taken
in the Eolian library, which resulted in a sub-par codebase that was a lot more
complicated than it had to be which resulted in worse maintainability.
The new generator aims to remedy that; it has much simpler design that relies
on the Eolian library more and doesn't take certain design choices that were
made previously.
2016-10-07 13:36:55 +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
82291e9cf5
eolian gen2: fix tests to match the new generator
2016-10-07 13:13:27 +02:00
Daniel Kolesa
b15d0583e7
eolian gen2: fix minor issues with c file generation
2016-10-07 12:58:22 +02:00
Daniel Kolesa
7ef0b84f03
eolian gen2: fix stub header include guard
2016-10-07 12:31:01 +02:00
Daniel Kolesa
3ebdf0a4e9
eolian gen2: fix logging typo
2016-10-07 11:54:23 +02:00
Daniel Kolesa
20b91a46c0
eolian gen2: add newline between property get/set protos
2016-10-07 11:54:23 +02:00
Daniel Kolesa
b789d6e1ec
eolian gen2: complete impl generator
2016-10-07 11:54:23 +02:00
Daniel Kolesa
2d28fce231
eolian gen2: complete impl gen besides params
2016-10-07 11:54:23 +02:00
Daniel Kolesa
1ad1eb300b
eolian gen2: fix file read to actually trigger impl gen
2016-10-07 11:54:23 +02:00
Daniel Kolesa
08e2703917
eolian gen2: fully implement the main func for impl gen
2016-10-07 11:54:23 +02:00
Daniel Kolesa
9cc0ca20f4
eolian gen2: some initial impl generation
2016-10-07 11:54:23 +02:00
Daniel Kolesa
bc9422cf0f
eolian gen2: remove the unused append mode for file write
2016-10-07 11:54:23 +02:00
Daniel Kolesa
cf89ff3f45
eolian gen2: initial skeleton for impl gen
2016-10-07 11:54:23 +02:00
Daniel Kolesa
bedba4f423
eolian gen2: fix generation of legacy class method wrappers
2016-10-07 11:54:23 +02:00
Daniel Kolesa
a307f470a1
eolian gen2: fix implement name generation
2016-10-07 11:54:23 +02:00
Daniel Kolesa
fecb2dc36d
eolian gen2: properly return from class initializer
2016-10-07 11:54:23 +02:00
Daniel Kolesa
cd58a681cf
eolian gen2: proper generation of inherits in class def
2016-10-07 11:54:23 +02:00
Daniel Kolesa
e0e2006a19
eolian gen2: properly generate class type for desc too
2016-10-07 11:54:23 +02:00
Daniel Kolesa
1fa36d558f
eolian gen2: sanitize data type properly
2016-10-07 11:54:23 +02:00
Daniel Kolesa
f660f371a2
eolian gen2: fix typos in generation
2016-10-07 11:54:23 +02:00
Daniel Kolesa
501a575237
eolian gen2: generate only .h by default for eot files
2016-10-07 11:54:23 +02:00
Daniel Kolesa
323949a699
eolian gen2: fix double and missing free
2016-10-07 11:54:23 +02:00
Daniel Kolesa
74934d8d01
eolian gen2: switch EFL to new generator (doesn't work yet)
2016-10-07 11:54:23 +02:00
Daniel Kolesa
809e2ed4de
eolian gen2: abort on OOM (not much we can do anyway)
2016-10-07 11:54:23 +02:00
Daniel Kolesa
0306810d52
eolian gen2: generate legacy API implementation stubs
2016-10-07 11:54:23 +02:00
Daniel Kolesa
911a0847be
eolian gen2: fully generate source
2016-10-07 11:54:23 +02:00
Daniel Kolesa
8a39a96bc5
eolian gen2: terminate EFL_OPS_DEFINE list
2016-10-07 11:54:23 +02:00
Daniel Kolesa
5272935573
eolian gen2: generation of class initializer func
2016-10-07 11:54:23 +02:00
Daniel Kolesa
759f470c29
eolian gen2: fix generation type specification
2016-10-07 11:54:23 +02:00
Daniel Kolesa
6d8854f461
eolian gen2: properly space headers
2016-10-07 11:54:23 +02:00
Daniel Kolesa
130335bd9a
eolian gen2: generate prototypes/impls for all implements
2016-10-07 11:54:23 +02:00
Daniel Kolesa
366bce609f
eolian gen2: don't generate class names in eo_gen_source_gen
2016-10-07 11:54:23 +02:00
Daniel Kolesa
6c4d705d55
eolian gen2: initial partial source generation
2016-10-07 11:54:23 +02:00
Daniel Kolesa
56cd773836
eolian gen2: add event generation
2016-10-07 11:54:23 +02:00
Daniel Kolesa
34c2bf66ce
eolian gen2: initial stubs for source writing
2016-10-07 11:54:23 +02:00
Daniel Kolesa
f8ede73bf9
eolian gen2: generate docs for funcs/events
2016-10-07 11:54:23 +02:00
Daniel Kolesa
dcda40215c
eolian gen2: generate docs for types
2016-10-07 11:54:23 +02:00
Daniel Kolesa
b105feebb3
eolian gen2: add code to handle doxygen generation
2016-10-07 11:54:23 +02:00
Daniel Kolesa
2e06751703
eolian gen2: only generate eo c/h by default
2016-10-07 11:54:23 +02:00
Daniel Kolesa
ec1bb92a8f
eolian gen2: feature complete header generator (eo and legacy)
2016-10-07 11:54:23 +02:00
Daniel Kolesa
45b867ae05
eolian gen2: generate fully functional eo headers
2016-10-07 11:54:23 +02:00
Daniel Kolesa
12c3bdee3e
eolian gen2: initial header generation
2016-10-07 11:54:23 +02:00
Daniel Kolesa
af7cc32343
eolian gen2: full type generator
2016-10-07 11:54:23 +02:00
Daniel Kolesa
d20acef831
eolian gen2: generate stub headers
2016-10-07 11:54:23 +02:00
Daniel Kolesa
e92ce1bd72
eolian gen2: use length_get when enclosing include guards
2016-10-07 11:54:23 +02:00
Daniel Kolesa
b70299fd35
eolian gen2: initial type gen subroutine
2016-10-07 11:54:23 +02:00
Daniel Kolesa
341ef8fc05
eolian gen2: initial type generation bits
2016-10-07 11:54:23 +02:00
Daniel Kolesa
17885ed375
eolian gen2: add file read
2016-10-07 11:54:23 +02:00