Commit Graph

423 Commits

Author SHA1 Message Date
Daniel Zaoui d7d9317da4 Eolian: add filename to error message 2015-03-17 09:32:54 +02:00
Daniel Zaoui 57a4cae33b Eolian: add API to return the class from a function.
@feature
2015-03-16 17:32:30 +02:00
Daniel Kolesa 42912e6e44 eolian: convenience macro to fill base structures in parser 2015-02-18 15:41:50 +00:00
Daniel Zaoui 024c9dc858 Eolian: improve the class searching.
If the class is not found, we retrieve its full path if it has already
been scanned.

This patch is needed by Espion so Eolian can find the full path of a
class by its name. Espion has no way to determine it by itself.
2015-02-12 15:58:50 +02: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 4301690535 eolian: add APIs for nullable/optional (+ lua bindings) 2015-02-12 13:24:06 +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 e39686b077 eolian: new APIs for filenames
Adds 4 new APIs for getting .eo and .eot file names and file paths.
2014-11-28 12:59:06 +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 6448803ab0 eolian: forgot to add prototype to header 2014-11-20 17:13:12 +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 df0b8e3d2f eolian: free a buffer properly (fixes CID 1243233) 2014-10-03 09:26:27 +01:00
Daniel Kolesa a2bde0bf96 eolian: new API: eolian_class_c_get_function_name_get
This allows bindings to easily retrieve name of the C function used to
retrieve the Eo_Class. Also, update the Lua Eolian bindings and generator.
2014-10-02 11:00:06 +01:00
Daniel Kolesa 7cbac89ec3 eolian: fix a nasty segfault (forgot to update some old code during refactoring) 2014-10-01 14:34:33 +01: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 13a9650491 eolian: properly replace commas in event_c_name_get and cleanup generator 2014-09-25 15:09:36 +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 99c56369f2 eolian: stringshare del note in 2 more functions 2014-09-22 13:19:50 +01:00
Daniel Kolesa 4ffc6d92c0 eolian: update docs 2014-09-22 13:16:57 +01:00
Daniel Kolesa 0be3aefdc7 eolian: remove some unused funcs 2014-09-22 12:47:30 +01:00
Stefan Schmidt eebeca2900 docs/eolian: Add main landing page for Eolian documentation 2014-09-19 15:27:33 +02:00
Daniel Kolesa bcff50fb72 eolian: initialize property type correctly 2014-09-16 17:12:52 +03:00
Kai Huuhko d0ee1bd142 Eolian: Fix a c&p mistake in doc 2014-09-15 14:38:12 +03:00
Kai Huuhko 09d6592260 Eolian: Fix a few warnings
"function declaration isn't a prototype"

   void was forgotten from empty params list
2014-09-15 14:34:33 +03:00
Savio Sena 2d39b359fb eolian: Added eolian_function_is_constructor().
This patch adds a list of strings called 'ctor_of' to
_Eolian_Function. This list will contain all classes in which this
function is a constructing function.

ctor_of is filled in two moments:

* When filling the constructors of a class, class->full_name is inserted
  in the 'ctor_of' of each constructor's function.

* When filling the implements of a class, if the function is a
  constructor of its superclass it also becomes a constructor of the
  current class, so class->full_name is also inserted in the 'ctor_of'
  of each implement's function.

eolian_function_is_constructor gets a func and klass arguments. It goes
through ctor_of of func and returns EINA_TRUE if klass->full_name is
found, otherwise it returns EINA_FALSE.
2014-09-12 16:51:37 -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 f8cef784a8 eolian: less messy initialization checks 2014-09-12 14:20:52 +01:00
Daniel Kolesa a1646ff61d eolian: remove eo_definitions 2014-09-12 13:42:53 +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 6fc1b18e1b eolian: more helpful error reporting 2014-09-11 13:55:42 +01:00
Daniel Kolesa 44cecb6a87 eolian: simplify more fill code 2014-09-11 11:48:46 +01:00
Daniel Kolesa 2358e63d60 eolian: remove most of class fill 2014-09-11 11:29:54 +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
Daniel Kolesa 88327c1d9d eolian: remove leftover code 2014-09-11 10:37:41 +01:00
Daniel Kolesa 12ce49db01 eolian: remove Eo_Method_Def 2014-09-11 10:29:48 +01:00
Daniel Kolesa 2219c0329d eolian: remove Eo_Property_Def 2014-09-10 17:15:31 +01:00