Daniel Kolesa
b339313e4b
eolian: remove obsolete code dealing with multiple classes per file
2015-05-22 16:46:07 +01:00
Daniel Kolesa
9bbc224f96
eolian: initial support for importing eo files
2015-05-22 16:34:48 +01:00
Daniel Kolesa
9214fa3db9
eolian: disallow cyclic dependencies between .eo files
...
Eo files will now fail to compile if a cycle is detected.
This required some temporary changes in existing eo files
(we had 2 cycles) for which I added a FIXME (they do not
affect C generation).
@feature
2015-05-22 15:03:38 +01:00
Daniel Kolesa
adf445e3bd
eolian: silence static analysis false positive
...
Fixes CID 1299412.
2015-05-22 11:26:28 +01:00
Daniel Kolesa
54974b074b
eolian: remove const_get/const_set support
...
This was made obsolete by per-accessor values. It was
also hacky and i've wanted to remove it for a while.
2015-05-20 18:05:45 +01:00
Daniel Kolesa
6b91b1bd12
eolian: allow keys/values in property get/set
...
Sometimes it is necessary to specify a different set of values for a
getter or a setter. This commit allows such specializations. This also
renders @const_get and @const_set useless (soon to be removed).
To function correctly, this required adjustment of several public APIs
as well as deprecation of eolian_function_parameter_get_by_name.
This function was not used in any generator and was pretty much
useless in the first place, so it was removed.
@fix
2015-05-20 17:42:44 +01:00
Daniel Kolesa
dfbb777bf1
eolian: keep track of all currently parsing files
2015-05-20 15:41:07 +01:00
Daniel Kolesa
dc4c0c64f8
eolian: unify inherits and dependencies for parsing purposes
2015-05-20 15:23:33 +01:00
Daniel Kolesa
5ca43e58c0
eolian: test for possible duplicates in deps list
2015-05-20 14:46:01 +01:00
Daniel Kolesa
30515bc946
eolian: cleaner cyclic import checks
2015-05-19 15:44:33 +01:00
Daniel Kolesa
72dcd2da03
eolian: add a functional "import" statement
2015-05-19 15:26:53 +01:00
Daniel Kolesa
8834f8e02d
eolian: initial lex/parse for import statement
2015-05-19 14:25:45 +01:00
Daniel Kolesa
058a9c9d88
eolian: new syntax for params/values/keys
...
Instead of "@in type name;" we now use "@in name: type;". This change
is done because of consistency with the rest of Eolian; pretty much
every other part of Eolian syntax uses the latter form.
This is a big breaking change in the .eo format, so please update your
.eo files accordingly and compile Elementary together with the EFL.
@feature
2015-05-18 16:14:31 +01:00
Daniel Kolesa
8ec7d1cc48
eolian: much better and stricter redefinition checking
...
We can now check redefinitions between different types of declarations,
such as redefinition of struct as variable etc.
@feature
2015-05-15 15:11:10 +01:00
Daniel Kolesa
8c774a1b90
eolian: force specification of inner type for all complex types
2015-05-14 11:27:00 +01:00
Daniel Kolesa
957a89168b
eolian: precompute all enum field values (faster runtime, constness)
2015-05-13 18:10:02 +01:00
Daniel Kolesa
d2365e6267
eolian: allow forced retrieval of enum field values
2015-05-13 17:57:03 +01:00
Daniel Kolesa
96d16eabb4
eolian: remove unused variables
2015-05-12 17:07:26 +01:00
Daniel Kolesa
211b650c4b
eolian: new API eolian_type_enum_field_c_name_get
...
This API allows you to retrieve the C name of an arbitrary enum field,
respecting the legacy prefix and properly uppercasing the name.
2015-05-12 17:04:54 +01:00
Daniel Kolesa
ed58165b50
eolian: butts
2015-05-12 16:25:52 +01:00
Daniel Kolesa
c8b0b06971
eolian: parsing for beta events
2015-05-08 14:22:32 +01:00
Daniel Kolesa
b33e2b21a1
eolian: parse the @beta qualifier
2015-05-08 14:00:07 +01:00
Daniel Kolesa
b5a7a9b556
eolian: remove old property syntax support
2015-05-07 17:35:33 +01:00
Daniel Kolesa
e126911ba0
eolian: allow the new property syntax
2015-05-07 14:58:03 +01:00
Daniel Kolesa
42912e6e44
eolian: convenience macro to fill base structures in parser
2015-02-18 15:41:50 +00:00
Daniel Zaoui
2349e1ac41
Eolian: store the class filenames with the extensions.
...
This change is needed to give Espion a way to request the parsing of a
class when a eo_add happens and the class is not known by Eolian.
2015-02-12 15:58:50 +02:00
Daniel Kolesa
a2dd62e510
eolian: remove unneeded code
2015-02-12 13:31:42 +00:00
Daniel Kolesa
5b8f3a083b
eolian: write the new parameters into the database
2015-02-12 11:32:34 +00:00
Daniel Kolesa
fff83acef3
eolian: check the other boolean rather than itself
2015-02-12 11:19:24 +00:00
Daniel Kolesa
be6415d662
eolian: parsing of @nullable and @optional args on func params
2015-02-12 11:14:45 +00:00
Daniel Kolesa
4a14bbd0f5
eolian: fix unary expression parsing (correctly consume tokens)
...
Also disable typed expression validation for now. The interfaces are not
finished yet so some things will fail validation because of unexistent
type definitions.
Fixes T2064.
@fix
2015-01-29 11:12:41 +00:00
Daniel Kolesa
49aebd063e
eolian: add eolian_function_is_c_only
...
This function allows us to mark functions that are not bindable.
Also remove some obsolete code.
2014-12-03 14:59:24 +00:00
Daniel Kolesa
5b9ece9c85
eolian: remove support for function types
...
These won't be needed because of Eo callbacks. They're also difficult
to handle in bindings, so this will relieve bindings of some effort.
2014-11-27 17:20:21 +00:00
Daniel Kolesa
3a8e08f747
eolian: one func for filling in namespaces
2014-11-21 14:12:40 +00:00
Daniel Kolesa
423629f817
eolian: get rid of the PARSE_SECTION macro nonsense
2014-11-21 13:59:42 +00:00
Daniel Kolesa
d26152391f
eolian: add support for @optional ctor tag
...
This implements task T1804.
@feature
2014-11-20 15:21:55 +00:00
Daniel Zaoui
af513b6af3
Eolian: add support for property descriptions.
...
For properties, set and get descriptions were supported but common
comment was not.
2014-10-19 13:25:06 +03:00
Daniel Kolesa
8631212e45
eolian: remove the need to pass prefix to eolian_function_full_c_name_get
2014-09-25 15:37:18 +01:00
Daniel Kolesa
a1552fe6a9
eolian: new API: eolian_event_c_name_get
2014-09-25 14:58:53 +01:00
Mike Blumenkrantz
5375e154fe
fix config.h inclusion across the tree
2014-09-23 15:56:46 -04:00
Daniel Kolesa
bcff50fb72
eolian: initialize property type correctly
2014-09-16 17:12:52 +03:00
Daniel Kolesa
3d8069f226
eolian: remove str_items from temps
2014-09-12 15:04:18 +01:00
Daniel Kolesa
87559458f2
eolian: get rid of a list
2014-09-12 15:01:10 +01:00
Daniel Kolesa
dd6f167795
eolian: more temp cleanups
2014-09-12 13:35:48 +01:00
Daniel Kolesa
212d500016
eolian: remove some more temps
2014-09-12 13:30:24 +01:00
Daniel Kolesa
25d57a4b44
eolian: remove some unnecessary temps
2014-09-12 13:25:26 +01:00
Daniel Kolesa
44cecb6a87
eolian: simplify more fill code
2014-09-11 11:48:46 +01:00
Daniel Kolesa
9915b0da55
eolian: remove more parts of fill
2014-09-11 11:21:04 +01:00
Daniel Kolesa
d85a3f6015
eolian: cleanup class fill
2014-09-11 11:02:51 +01:00
Daniel Kolesa
f55572d79e
eolian: remove Eo_Class_Def (fill bits still remaining)
2014-09-11 10:50:48 +01:00