forked from enlightenment/efl
Merge branch 'master' into devs/hermet/lottie
This commit is contained in:
commit
30a34765d4
|
@ -570,7 +570,7 @@ eo_gen_docs_func_gen(const Eolian_State *state, const Eolian_Function *fid,
|
|||
}
|
||||
}
|
||||
|
||||
if (!eolian_function_is_class(fid))
|
||||
if (!eolian_function_is_static(fid))
|
||||
{
|
||||
_indent_line(buf, indent);
|
||||
eina_strbuf_append(buf, " * @param[in] obj The object.\n");
|
||||
|
|
|
@ -129,13 +129,13 @@ _gen_func(const Eolian_State *state, const Eolian_Function *fid,
|
|||
eina_stringshare_del(fcn);
|
||||
|
||||
Eina_Strbuf *flagbuf = NULL;
|
||||
int nidx = !eolian_function_is_class(fid);
|
||||
int nidx = !eolian_function_is_static(fid);
|
||||
|
||||
eina_strbuf_append_char(buf, '(');
|
||||
if (nidx)
|
||||
{
|
||||
if ((ftype == EOLIAN_PROP_GET) || eolian_function_object_is_const(fid)
|
||||
|| eolian_function_is_class(fid))
|
||||
|| eolian_function_is_static(fid))
|
||||
{
|
||||
eina_strbuf_append(buf, "const ");
|
||||
}
|
||||
|
|
|
@ -570,7 +570,7 @@ _gen_func(const Eolian_Class *cl, const Eolian_Function *fid,
|
|||
eina_strbuf_append(params, ", ");
|
||||
eina_strbuf_append(params, prn);
|
||||
|
||||
if (eina_strbuf_length_get(params_full) || !eolian_function_is_class(fid))
|
||||
if (eina_strbuf_length_get(params_full) || !eolian_function_is_static(fid))
|
||||
{
|
||||
eina_strbuf_append(params_full, ", ");
|
||||
eina_strbuf_append(params_full_imp, ", ");
|
||||
|
@ -660,7 +660,7 @@ _gen_func(const Eolian_Class *cl, const Eolian_Function *fid,
|
|||
if (eina_strbuf_length_get(params))
|
||||
eina_strbuf_append(params, ", ");
|
||||
|
||||
if (eina_strbuf_length_get(params_full_imp) || !eolian_function_is_class(fid))
|
||||
if (eina_strbuf_length_get(params_full_imp) || !eolian_function_is_static(fid))
|
||||
eina_strbuf_append(params_full_imp, ", ");
|
||||
eina_strbuf_append(params_full_imp, ptn);
|
||||
if (!had_star)
|
||||
|
@ -671,7 +671,7 @@ _gen_func(const Eolian_Class *cl, const Eolian_Function *fid,
|
|||
eina_strbuf_append(params_full_imp, " EINA_UNUSED");
|
||||
eina_strbuf_append(params, prn);
|
||||
|
||||
if (eina_strbuf_length_get(params_full) || !eolian_function_is_class(fid))
|
||||
if (eina_strbuf_length_get(params_full) || !eolian_function_is_static(fid))
|
||||
eina_strbuf_append(params_full, ", ");
|
||||
eina_strbuf_append(params_full, ptn);
|
||||
if (!had_star)
|
||||
|
@ -729,7 +729,7 @@ _gen_func(const Eolian_Class *cl, const Eolian_Function *fid,
|
|||
{
|
||||
/* figure out the data type */
|
||||
Eina_Stringshare *dt = NULL;
|
||||
if (eolian_function_is_class(fid))
|
||||
if (eolian_function_is_static(fid))
|
||||
dt = eina_stringshare_add("void");
|
||||
else
|
||||
dt = eolian_class_c_data_type_get(cl);
|
||||
|
@ -751,7 +751,7 @@ _gen_func(const Eolian_Class *cl, const Eolian_Function *fid,
|
|||
eina_strbuf_append(buf, func_suffix);
|
||||
/* ([const ]Eo *obj, Data_Type *pd, impl_full_params); */
|
||||
eina_strbuf_append_char(buf, '(');
|
||||
if (!eolian_function_is_class(fid))
|
||||
if (!eolian_function_is_static(fid))
|
||||
{
|
||||
if ((ftype == EOLIAN_PROP_GET) || eolian_function_object_is_const(fid))
|
||||
eina_strbuf_append(buf, "const ");
|
||||
|
@ -760,7 +760,7 @@ _gen_func(const Eolian_Class *cl, const Eolian_Function *fid,
|
|||
eina_strbuf_append(buf, " *pd");
|
||||
}
|
||||
eina_strbuf_append(buf, eina_strbuf_string_get(params_full_imp));
|
||||
if (eina_strbuf_length_get(params_full_imp) == 0 && eolian_function_is_class(fid))
|
||||
if (eina_strbuf_length_get(params_full_imp) == 0 && eolian_function_is_static(fid))
|
||||
eina_strbuf_append(buf, "void");
|
||||
eina_strbuf_append(buf, ");\n\n");
|
||||
}
|
||||
|
@ -832,7 +832,7 @@ _gen_func(const Eolian_Class *cl, const Eolian_Function *fid,
|
|||
eina_stringshare_del(dt);
|
||||
}
|
||||
|
||||
if (impl_same_class && !eolian_function_is_class(fid))
|
||||
if (impl_same_class && !eolian_function_is_static(fid))
|
||||
{
|
||||
/* generate reflection implementation */
|
||||
if (reflect_type)
|
||||
|
@ -875,7 +875,7 @@ _gen_func(const Eolian_Class *cl, const Eolian_Function *fid,
|
|||
if (has_params)
|
||||
eina_strbuf_append_char(buf, 'V');
|
||||
if ((ftype == EOLIAN_PROP_GET) || eolian_function_object_is_const(fid)
|
||||
|| eolian_function_is_class(fid))
|
||||
|| eolian_function_is_static(fid))
|
||||
{
|
||||
eina_strbuf_append(buf, "_CONST");
|
||||
}
|
||||
|
@ -909,7 +909,7 @@ _gen_func(const Eolian_Class *cl, const Eolian_Function *fid,
|
|||
|
||||
eina_stringshare_del(eofn);
|
||||
}
|
||||
if (impl_same_class && eolian_function_is_class(fid))
|
||||
if (impl_same_class && eolian_function_is_static(fid))
|
||||
_emit_class_function(buf, fid, rtp, params_full, ocnamel, func_suffix, params, eolian_function_full_c_name_get(fid, ftype));
|
||||
|
||||
free(cname);
|
||||
|
@ -1003,7 +1003,7 @@ _gen_initializer(const Eolian_Class *cl, Eina_Strbuf *buf, Eina_Hash *refh)
|
|||
Eolian_Function_Type ftype;
|
||||
const Eolian_Function *fid = eolian_implement_function_get(imp, &ftype);
|
||||
|
||||
if (eolian_function_is_class(fid)) continue;
|
||||
if (eolian_function_is_static(fid)) continue;
|
||||
|
||||
if (!eina_strbuf_length_get(ops))
|
||||
eina_strbuf_append_printf(ops, " EFL_OPS_DEFINE(ops,\n");
|
||||
|
|
|
@ -366,7 +366,7 @@ ffi.cdef [[
|
|||
const char *eolian_function_full_c_name_get(const Eolian_Function *function_id, Eolian_Function_Type ftype);
|
||||
const Eolian_Function *eolian_class_function_by_name_get(const Eolian_Class *klass, const char *func_name, Eolian_Function_Type f_type);
|
||||
const Eolian_Implement *eolian_function_implement_get(const Eolian_Function *function_id);
|
||||
Eina_Bool eolian_function_is_class(const Eolian_Function *function_id);
|
||||
Eina_Bool eolian_function_is_static(const Eolian_Function *function_id);
|
||||
Eina_Bool eolian_function_is_constructor(const Eolian_Function *function_id, const Eolian_Class *klass);
|
||||
Eina_Bool eolian_function_is_function_pointer(const Eolian_Function *function_id);
|
||||
Eina_Iterator *eolian_property_keys_get(const Eolian_Function *foo_id, Eolian_Function_Type ftype);
|
||||
|
@ -1201,8 +1201,8 @@ M.Function = ffi.metatype("Eolian_Function", {
|
|||
return v
|
||||
end,
|
||||
|
||||
is_class = function(self)
|
||||
return eolian.eolian_function_is_class(self) ~= 0
|
||||
is_static = function(self)
|
||||
return eolian.eolian_function_is_static(self) ~= 0
|
||||
end,
|
||||
|
||||
is_constructor = function(self, klass)
|
||||
|
|
|
@ -31,7 +31,7 @@ if get_option('gstreamer') == true
|
|||
examples = [
|
||||
'ecore_pipe_gstreamer_example',
|
||||
]
|
||||
|
||||
gstreamer = dependency('gstreamer-1.0')
|
||||
foreach example : examples
|
||||
executable(example, example + '.c', dependencies: [eina, ecore, gstreamer, ecore_file])
|
||||
endforeach
|
||||
|
|
|
@ -9,4 +9,4 @@ if rsvg.version() >= '2.36.0'
|
|||
endif
|
||||
|
||||
generic_deps = [rsvg]
|
||||
generic_support = ['svgz', 'svg.gz']
|
||||
generic_support = ['svg', 'svgz', 'svg.gz']
|
||||
|
|
|
@ -8,7 +8,7 @@ abstract Efl.App extends Efl.Loop implements Efl.Core.Command_Line
|
|||
]]
|
||||
data: null;
|
||||
methods {
|
||||
@property app_main @class {
|
||||
@property app_main @static {
|
||||
[[ Returns the app object that is representing this process
|
||||
|
||||
Note: This function call only works in the main loop thread of the process.
|
||||
|
|
|
@ -2,7 +2,7 @@ class @beta Efl.Core.Proc_Env extends Efl.Core.Env
|
|||
{
|
||||
c_prefix: efl_env;
|
||||
methods {
|
||||
self @class {
|
||||
self @static {
|
||||
[[Get a instance of this object
|
||||
|
||||
The object will apply the environment operations onto this process.
|
||||
|
|
|
@ -195,11 +195,6 @@ if get_option('g-mainloop') == true
|
|||
config_h.set('USE_G_MAIN_LOOP', '1')
|
||||
endif
|
||||
|
||||
if get_option('gstreamer') == true
|
||||
gstreamer = dependency('gstreamer-1.0')
|
||||
ecore_deps += gstreamer
|
||||
endif
|
||||
|
||||
if get_option('systemd') == true
|
||||
ecore_deps += systemd
|
||||
endif
|
||||
|
|
|
@ -361,7 +361,7 @@ class @beta Efl.Net.Dialer_Http extends Efl.Loop_Consumer implements Efl.Net.Dia
|
|||
}
|
||||
}
|
||||
|
||||
date_parse @class {
|
||||
date_parse @static {
|
||||
[[Parses the given string as time in seconds since 1/1/1970.
|
||||
|
||||
This method is useful to parse header values such as
|
||||
|
@ -373,7 +373,7 @@ class @beta Efl.Net.Dialer_Http extends Efl.Loop_Consumer implements Efl.Net.Dia
|
|||
return: int64; [[Seconds since 1/1/1970]]
|
||||
}
|
||||
|
||||
date_serialize @class {
|
||||
date_serialize @static {
|
||||
[[Serializes the given GMT time in seconds since 1/1/1970.
|
||||
|
||||
The timezone must be GMT (ie: gmtime()).
|
||||
|
|
|
@ -37,7 +37,7 @@ class @beta Efl.Net.Ip_Address extends Efl.Object {
|
|||
]]
|
||||
|
||||
methods {
|
||||
create @class {
|
||||
create @static {
|
||||
[[Creates an object given family, port and address.
|
||||
|
||||
This is a convenience to create an object in a single
|
||||
|
@ -51,7 +51,7 @@ class @beta Efl.Net.Ip_Address extends Efl.Object {
|
|||
return: Efl.Net.Ip_Address @owned; [[Newly created object or $NULL if parameters were invalid.]]
|
||||
}
|
||||
|
||||
create_sockaddr @class {
|
||||
create_sockaddr @static {
|
||||
[[Creates an object given sockaddr
|
||||
|
||||
This is a convenient way to create an object in a single call.
|
||||
|
@ -64,7 +64,7 @@ class @beta Efl.Net.Ip_Address extends Efl.Object {
|
|||
return: Efl.Net.Ip_Address @owned; [[Newly created object or $NULL if parameter was invalid.]]
|
||||
}
|
||||
|
||||
parse @class {
|
||||
parse @static {
|
||||
[[Parses a numeric address and return an object representing it.
|
||||
|
||||
This parses a numeric IPv4 or IPv6 address and optional
|
||||
|
@ -88,7 +88,7 @@ class @beta Efl.Net.Ip_Address extends Efl.Object {
|
|||
return: Efl.Net.Ip_Address @owned; [[The new IP address object or NULL if it failed to parse]]
|
||||
}
|
||||
|
||||
resolve @class {
|
||||
resolve @static {
|
||||
[[Asynchronously resolves host and port names.
|
||||
|
||||
This will resolve the host and port names, returning the
|
||||
|
|
|
@ -15,7 +15,7 @@ class @beta Efl.Net.Ssl.Context extends Efl.Object {
|
|||
]]
|
||||
|
||||
methods {
|
||||
@property default_dialer @class {
|
||||
@property default_dialer @static {
|
||||
[[The default context for dialers.
|
||||
|
||||
It will start with:
|
||||
|
|
|
@ -3,7 +3,7 @@ class @beta Efl.Text_Markup_Util {
|
|||
]]
|
||||
data: null;
|
||||
methods {
|
||||
text_to_markup @class {
|
||||
text_to_markup @static {
|
||||
[[Converts a given (UTF-8) text to a markup-compatible string.
|
||||
This is used mainly to set a plain text with the $.markup_set
|
||||
property.
|
||||
|
@ -13,7 +13,7 @@ class @beta Efl.Text_Markup_Util {
|
|||
}
|
||||
return: mstring @owned; [[The markup representation of given text]]
|
||||
}
|
||||
markup_to_text @class {
|
||||
markup_to_text @static {
|
||||
[[Converts a given (UTF-8) text to a markup-compatible string.
|
||||
This is used mainly to set a plain text with the $.markup_set
|
||||
property.
|
||||
|
|
|
@ -358,7 +358,7 @@ mixin @beta Efl.Access.Object requires Efl.Object
|
|||
states: Efl.Access.State_Set; [[Accessible state set]]
|
||||
}
|
||||
}
|
||||
event_handler_add @class @protected @beta {
|
||||
event_handler_add @static @protected @beta {
|
||||
[[Register accessibility event listener]]
|
||||
params {
|
||||
@in cb: Efl.Event_Cb; [[Callback]]
|
||||
|
@ -366,13 +366,13 @@ mixin @beta Efl.Access.Object requires Efl.Object
|
|||
}
|
||||
return: ptr(Efl.Access.Event.Handler); [[Event handler]]
|
||||
}
|
||||
event_handler_del @class @protected @beta {
|
||||
event_handler_del @static @protected @beta {
|
||||
[[Deregister accessibility event listener]]
|
||||
params {
|
||||
@in handler: ptr(Efl.Access.Event.Handler); [[Event handler]]
|
||||
}
|
||||
}
|
||||
event_emit @class @protected @beta {
|
||||
event_emit @static @protected @beta {
|
||||
[[Emit event]]
|
||||
params {
|
||||
@in accessible: Efl.Access.Object; [[Accessibility object.]]
|
||||
|
@ -445,7 +445,7 @@ mixin @beta Efl.Access.Object requires Efl.Object
|
|||
relationships_clear @beta {
|
||||
[[Removes all relationships in accessible object.]]
|
||||
}
|
||||
@property access_root @class @beta {
|
||||
@property access_root @static @beta {
|
||||
get {
|
||||
[[Get root object of accessible object hierarchy]]
|
||||
values {
|
||||
|
|
|
@ -4,7 +4,7 @@ class @beta Efl.Ui.Action_Connector {
|
|||
For example, this simplifies creating widgets that implement the @Efl.Input.Clickable interface.
|
||||
]]
|
||||
methods {
|
||||
bind_clickable_to_theme @class {
|
||||
bind_clickable_to_theme @static {
|
||||
[[This will listen to the standard "click" events on a theme and emit the appropriate
|
||||
events through the @Efl.Input.Clickable interface.
|
||||
|
||||
|
@ -19,7 +19,7 @@ class @beta Efl.Ui.Action_Connector {
|
|||
clickable : Efl.Input.Clickable; [[The object to call the clickable methods on.]]
|
||||
}
|
||||
}
|
||||
bind_clickable_to_object @class {
|
||||
bind_clickable_to_object @static {
|
||||
[[This will listen to the standard "click" events on an object, and emit the appropriate
|
||||
events through the @Efl.Input.Clickable interface.
|
||||
|
||||
|
|
|
@ -1,20 +1,20 @@
|
|||
class @beta Efl.Ui.Focus.Util extends Efl.Object {
|
||||
[[EFL UI Focus Util class]]
|
||||
methods {
|
||||
focus @class {
|
||||
focus @static {
|
||||
[[Focus helper method]]
|
||||
params {
|
||||
focus_elem : Efl.Ui.Focus.Object; [[Focus element]]
|
||||
}
|
||||
}
|
||||
active_manager @class {
|
||||
active_manager @static {
|
||||
[[Get the highest manager in the redirect property]]
|
||||
params {
|
||||
manager : Efl.Ui.Focus.Manager;
|
||||
}
|
||||
return: Efl.Ui.Focus.Manager;
|
||||
}
|
||||
direction_complement @class {
|
||||
direction_complement @static {
|
||||
params {
|
||||
dir : Efl.Ui.Focus.Direction;
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
class @beta Efl.Ui.Spotlight.Util {
|
||||
methods {
|
||||
stack_gen @class {
|
||||
stack_gen @static {
|
||||
[[Get a preconfigured stack obejct]]
|
||||
params {
|
||||
parent : Efl.Ui.Widget;
|
||||
|
|
|
@ -4,7 +4,7 @@ class @beta Efl.Ui.Theme extends Efl.Object
|
|||
c_prefix: efl_ui_theme;
|
||||
data: Efl_Ui_Theme_Data;
|
||||
methods {
|
||||
@property default @class {
|
||||
@property default @static {
|
||||
[[This is the default theme.
|
||||
|
||||
All widgets use the default theme implicitly unless a specific theme
|
||||
|
|
|
@ -608,7 +608,7 @@ class Efl.Ui.Win extends Efl.Ui.Widget implements Efl.Canvas.Scene, Efl.Access.W
|
|||
This will try and delete all the windows in the stack that
|
||||
are above the window.]]
|
||||
}
|
||||
@property exit_on_all_windows_closed @class {
|
||||
@property exit_on_all_windows_closed @static {
|
||||
[[Enable quitting the main loop when all windows are closed.
|
||||
|
||||
When set, the main loop will quit with the passed exit code once all windows have been closed.
|
||||
|
|
|
@ -604,6 +604,7 @@ _elm_hoversel_item_efl_object_destructor(Eo *eo_item, Elm_Hoversel_Item_Data *it
|
|||
{
|
||||
ELM_HOVERSEL_DATA_GET_OR_RETURN(WIDGET(item), sd);
|
||||
|
||||
evas_object_event_callback_del_full(sd->hover, EVAS_CALLBACK_DEL, _auto_update, eo_item);
|
||||
elm_hoversel_hover_end(WIDGET(item));
|
||||
sd->items = eina_list_remove(sd->items, eo_item);
|
||||
eina_stringshare_del(item->label);
|
||||
|
@ -658,6 +659,7 @@ _elm_hoversel_efl_canvas_group_group_del(Eo *obj, Elm_Hoversel_Data *sd)
|
|||
{
|
||||
Elm_Object_Item *eo_item;
|
||||
|
||||
evas_object_event_callback_del(sd->hover, EVAS_CALLBACK_DEL, _auto_update);
|
||||
EINA_LIST_FREE(sd->items, eo_item)
|
||||
{
|
||||
ELM_HOVERSEL_ITEM_DATA_GET(eo_item, it);
|
||||
|
@ -808,9 +810,9 @@ EOLIAN static void
|
|||
_elm_hoversel_clear(Eo *obj EINA_UNUSED, Elm_Hoversel_Data *sd)
|
||||
{
|
||||
Elm_Object_Item *it;
|
||||
Eina_List *l, *ll;
|
||||
|
||||
EINA_LIST_FOREACH_SAFE(sd->items, l, ll, it)
|
||||
evas_object_event_callback_del(sd->hover, EVAS_CALLBACK_DEL, _auto_update);
|
||||
EINA_LIST_FREE(sd->items, it)
|
||||
{
|
||||
efl_del(it);
|
||||
}
|
||||
|
|
|
@ -62,6 +62,7 @@ _delay_change(void *data)
|
|||
{
|
||||
ELM_SLIDER_DATA_GET(data, sd);
|
||||
|
||||
if (!sd) return ECORE_CALLBACK_CANCEL;
|
||||
sd->delay = NULL;
|
||||
evas_object_smart_callback_call(data, SIG_DELAY_CHANGED, NULL);
|
||||
|
||||
|
@ -972,15 +973,16 @@ EOLIAN static void
|
|||
_elm_slider_efl_object_destructor(Eo *obj,
|
||||
Elm_Slider_Data *sd)
|
||||
{
|
||||
ecore_timer_del(sd->wheel_indicator_timer);
|
||||
evas_object_del(sd->popup);
|
||||
evas_object_del(sd->popup2);
|
||||
ELM_SAFE_FREE(sd->delay, ecore_timer_del);
|
||||
ELM_SAFE_FREE(sd->wheel_indicator_timer, ecore_timer_del);
|
||||
ELM_SAFE_FREE(sd->popup, evas_object_del);
|
||||
ELM_SAFE_FREE(sd->popup2, evas_object_del);
|
||||
|
||||
ELM_SAFE_FREE(sd->indi_template, eina_stringshare_del);
|
||||
eina_strbuf_free(sd->indi_format_strbuf);
|
||||
ELM_SAFE_FREE(sd->indi_format_strbuf, eina_strbuf_free);
|
||||
|
||||
efl_ui_format_func_set(obj, NULL, NULL, NULL);
|
||||
eina_strbuf_free(sd->format_strbuf);
|
||||
ELM_SAFE_FREE(sd->format_strbuf, eina_strbuf_free);
|
||||
|
||||
efl_destructor(efl_super(obj, MY_CLASS));
|
||||
}
|
||||
|
|
|
@ -143,7 +143,7 @@ abstract Efl.Object
|
|||
@in sb: strbuf; [[A string buffer, must not be $null.]]
|
||||
}
|
||||
}
|
||||
@property event_global_freeze_count @class {
|
||||
@property event_global_freeze_count @static {
|
||||
get {
|
||||
[[Return the global count of freeze events.
|
||||
|
||||
|
@ -288,7 +288,7 @@ abstract Efl.Object
|
|||
events again using @.event_thaw. Events marked $hot cannot be stopped.
|
||||
]]
|
||||
}
|
||||
event_global_thaw @class {
|
||||
event_global_thaw @static {
|
||||
[[Gobally thaw events for ALL EFL OBJECTS.
|
||||
|
||||
Allows event callbacks to be called for all EFL objects after they have
|
||||
|
@ -296,7 +296,7 @@ abstract Efl.Object
|
|||
the amount of freezes for events to be re-enabled.
|
||||
]]
|
||||
}
|
||||
event_global_freeze @class {
|
||||
event_global_freeze @static {
|
||||
[[Globally freeze events for ALL EFL OBJECTS.
|
||||
|
||||
Prevents event callbacks from being called for all EFL objects.
|
||||
|
|
|
@ -1741,14 +1741,14 @@ EAPI const Eolian_Function *eolian_class_function_by_name_get(const Eolian_Class
|
|||
EAPI const Eolian_Implement *eolian_function_implement_get(const Eolian_Function *function_id);
|
||||
|
||||
/*
|
||||
* @brief Get whether a function is a class method/property.
|
||||
* @brief Get whether a function is a static method/property.
|
||||
*
|
||||
* @param[in] function_id Id of the function
|
||||
* @return EINA_TRUE and EINA_FALSE respectively
|
||||
*
|
||||
* @ingroup Eolian
|
||||
*/
|
||||
EAPI Eina_Bool eolian_function_is_class(const Eolian_Function *function_id);
|
||||
EAPI Eina_Bool eolian_function_is_static(const Eolian_Function *function_id);
|
||||
|
||||
/*
|
||||
* @brief Get whether a function is beta.
|
||||
|
|
|
@ -117,10 +117,10 @@ eolian_function_implement_get(const Eolian_Function *fid)
|
|||
}
|
||||
|
||||
EAPI Eina_Bool
|
||||
eolian_function_is_class(const Eolian_Function *fid)
|
||||
eolian_function_is_static(const Eolian_Function *fid)
|
||||
{
|
||||
EINA_SAFETY_ON_NULL_RETURN_VAL(fid, EINA_FALSE);
|
||||
return fid->is_class;
|
||||
return fid->is_static;
|
||||
}
|
||||
|
||||
EAPI Eina_Bool
|
||||
|
|
|
@ -27,7 +27,8 @@ database_typedecl_del(Eolian_Typedecl *tp)
|
|||
database_type_del(tp->base_type);
|
||||
if (tp->fields) eina_hash_free(tp->fields);
|
||||
if (tp->field_list) eina_list_free(tp->field_list);
|
||||
if (tp->freefunc) eina_stringshare_del(tp->freefunc);
|
||||
database_function_del(tp->function_pointer);
|
||||
eina_stringshare_del(tp->freefunc);
|
||||
database_doc_del(tp->doc);
|
||||
free(tp);
|
||||
}
|
||||
|
|
|
@ -33,11 +33,11 @@ enum Tokens
|
|||
KW(keys), KW(legacy), KW(methods), KW(mixin), KW(params), \
|
||||
KW(parse), KW(parts), KW(ptr), KW(set), KW(type), KW(values), KW(var), KW(requires), \
|
||||
\
|
||||
KWAT(auto), KWAT(beta), KWAT(c_name), KWAT(class), KWAT(const), KWAT(cref), \
|
||||
KWAT(auto), KWAT(beta), KWAT(c_name), KWAT(const), KWAT(cref), \
|
||||
KWAT(empty), KWAT(extern), KWAT(free), KWAT(hot), KWAT(in), KWAT(inout), \
|
||||
KWAT(no_unused), KWAT(nullable), KWAT(optional), KWAT(out), KWAT(owned), \
|
||||
KWAT(private), KWAT(property), KWAT(protected), KWAT(restart), \
|
||||
KWAT(pure_virtual), \
|
||||
KWAT(pure_virtual), KWAT(static), \
|
||||
\
|
||||
KWH(version), \
|
||||
\
|
||||
|
|
|
@ -1318,9 +1318,9 @@ parse_property(Eo_Lexer *ls)
|
|||
prop->get_scope = prop->set_scope = EOLIAN_SCOPE_PROTECTED;
|
||||
eo_lexer_get(ls);
|
||||
break;
|
||||
case KW_at_class:
|
||||
case KW_at_static:
|
||||
CASE_LOCK(ls, class, "class qualifier");
|
||||
prop->is_class = EINA_TRUE;
|
||||
prop->is_static = EINA_TRUE;
|
||||
eo_lexer_get(ls);
|
||||
break;
|
||||
case KW_at_beta:
|
||||
|
@ -1514,9 +1514,9 @@ parse_method(Eo_Lexer *ls)
|
|||
meth->obj_is_const = EINA_TRUE;
|
||||
eo_lexer_get(ls);
|
||||
break;
|
||||
case KW_at_class:
|
||||
case KW_at_static:
|
||||
CASE_LOCK(ls, class, "class qualifier");
|
||||
meth->is_class = EINA_TRUE;
|
||||
meth->is_static = EINA_TRUE;
|
||||
eo_lexer_get(ls);
|
||||
break;
|
||||
case KW_at_beta:
|
||||
|
|
|
@ -230,7 +230,7 @@ struct _Eolian_Function
|
|||
Eina_Bool obj_is_const :1; /* True if the object has to be const. Useful for a few methods. */
|
||||
Eina_Bool get_return_no_unused :1; /* also used for methods */
|
||||
Eina_Bool set_return_no_unused :1;
|
||||
Eina_Bool is_class :1;
|
||||
Eina_Bool is_static :1;
|
||||
Eina_List *ctor_of;
|
||||
Eolian_Class *klass;
|
||||
};
|
||||
|
|
|
@ -260,7 +260,8 @@ struct documentation_def
|
|||
since = str;
|
||||
}
|
||||
|
||||
efl::eina::ptr_list<const char> l(eolian_documentation_string_split(description.c_str()));
|
||||
efl::eina::ptr_list<const char, efl::eina::malloc_clone_allocator>
|
||||
l(eolian_documentation_string_split(description.c_str()));
|
||||
for (auto&& i : l)
|
||||
desc_paragraphs.push_back({&i});
|
||||
}
|
||||
|
@ -810,7 +811,7 @@ struct function_def
|
|||
}
|
||||
}
|
||||
is_protected = eolian_function_scope_get(function, type) == EOLIAN_SCOPE_PROTECTED;
|
||||
is_static = eolian_function_is_class(function);
|
||||
is_static = eolian_function_is_static(function);
|
||||
|
||||
Eolian_Implement const* implement = eolian_function_implement_get(function);
|
||||
if (!implement)
|
||||
|
|
|
@ -865,8 +865,8 @@ class Function(Object):
|
|||
return self.scope_get(Eolian_Function_Type.PROP_SET)
|
||||
|
||||
@cached_property
|
||||
def is_class(self):
|
||||
return bool(lib.eolian_function_is_class(self))
|
||||
def is_static(self):
|
||||
return bool(lib.eolian_function_is_static(self))
|
||||
|
||||
@cached_property
|
||||
def object_is_const(self):
|
||||
|
|
|
@ -332,9 +332,9 @@ lib.eolian_function_full_c_name_get.restype = c_void_p # Stringshare TO BE FREE
|
|||
lib.eolian_function_implement_get.argtypes = (c_void_p,)
|
||||
lib.eolian_function_implement_get.restype = c_void_p
|
||||
|
||||
# EAPI Eina_Bool eolian_function_is_class(const Eolian_Function *function_id);
|
||||
lib.eolian_function_is_class.argtypes = (c_void_p,)
|
||||
lib.eolian_function_is_class.restype = c_bool
|
||||
# EAPI Eina_Bool eolian_function_is_static(const Eolian_Function *function_id);
|
||||
lib.eolian_function_is_static.argtypes = (c_void_p,)
|
||||
lib.eolian_function_is_static.restype = c_bool
|
||||
|
||||
# EAPI Eina_Bool eolian_function_is_constructor(const Eolian_Function *function_id, const Eolian_Class *klass);
|
||||
lib.eolian_function_is_constructor.argtypes = (c_void_p,c_void_p,)
|
||||
|
|
|
@ -374,7 +374,7 @@ class TestEolianFunction(unittest.TestCase):
|
|||
self.assertIsNone(f.method_return_type) # TODO correct ?
|
||||
self.assertIsNone(f.setter_return_type) # TODO correct ?
|
||||
self.assertIsNone(f.getter_return_type) # TODO correct ?
|
||||
self.assertFalse(f.is_class)
|
||||
self.assertFalse(f.is_static)
|
||||
self.assertFalse(f.is_beta)
|
||||
self.assertFalse(f.is_constructor(cls))
|
||||
# # #assert f.is_function_pointer == False # TODO broken somehow
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
class Dummy.Inherit_Helper extends Efl.Object
|
||||
{
|
||||
methods {
|
||||
receive_dummy_and_call_int_out @class {
|
||||
receive_dummy_and_call_int_out @static {
|
||||
params {
|
||||
@in x: Dummy.Test_Object;
|
||||
}
|
||||
return: int;
|
||||
}
|
||||
receive_dummy_and_call_in_stringshare @class {
|
||||
receive_dummy_and_call_in_stringshare @static {
|
||||
params {
|
||||
@in x: Dummy.Inherit_Iface;
|
||||
}
|
||||
|
|
|
@ -1569,7 +1569,7 @@ class Dummy.Test_Object extends Efl.Object implements Dummy.Test_Iface {
|
|||
return: Dummy.MyInt;
|
||||
}
|
||||
|
||||
@property klass_prop @class {
|
||||
@property klass_prop @static {
|
||||
get {}
|
||||
set {}
|
||||
values {
|
||||
|
@ -1577,10 +1577,10 @@ class Dummy.Test_Object extends Efl.Object implements Dummy.Test_Iface {
|
|||
}
|
||||
}
|
||||
|
||||
create_cmp_array_objects @class {
|
||||
create_cmp_array_objects @static {
|
||||
}
|
||||
|
||||
destroy_cmp_array_objects @class {
|
||||
destroy_cmp_array_objects @static {
|
||||
}
|
||||
|
||||
/* Futures */
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
|
||||
static const Efl_Test_Case etc[] = {
|
||||
{ NULL, NULL }
|
||||
, { NULL, NULL }
|
||||
};
|
||||
|
||||
int
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
class Class_Funcs {
|
||||
methods {
|
||||
@property a @class {
|
||||
@property a @static {
|
||||
get {
|
||||
}
|
||||
}
|
||||
|
@ -8,11 +8,11 @@ class Class_Funcs {
|
|||
get {
|
||||
}
|
||||
}
|
||||
foo @class {
|
||||
foo @static {
|
||||
}
|
||||
bar {
|
||||
}
|
||||
baz @protected @class {
|
||||
baz @protected @static {
|
||||
}
|
||||
bah @protected {
|
||||
}
|
||||
|
|
|
@ -1005,22 +1005,22 @@ EFL_START_TEST(eolian_class_funcs)
|
|||
/* Class properties */
|
||||
fail_if(eolian_class_function_by_name_get(class, "a", EOLIAN_PROPERTY));
|
||||
fail_if(!(fid = eolian_class_function_by_name_get(class, "a", EOLIAN_PROP_GET)));
|
||||
fail_if(!eolian_function_is_class(fid));
|
||||
fail_if(!eolian_function_is_static(fid));
|
||||
fail_if(!(fid = eolian_class_function_by_name_get(class, "b", EOLIAN_PROP_GET)));
|
||||
fail_if(eolian_function_is_class(fid));
|
||||
fail_if(eolian_function_is_static(fid));
|
||||
|
||||
/* Class methods */
|
||||
fail_if(!(fid = eolian_class_function_by_name_get(class, "foo", EOLIAN_METHOD)));
|
||||
fail_if(!eolian_function_is_class(fid));
|
||||
fail_if(!eolian_function_is_static(fid));
|
||||
fail_if(eolian_function_scope_get(fid, EOLIAN_METHOD) != EOLIAN_SCOPE_PUBLIC);
|
||||
fail_if(!(fid = eolian_class_function_by_name_get(class, "bar", EOLIAN_METHOD)));
|
||||
fail_if(eolian_function_is_class(fid));
|
||||
fail_if(eolian_function_is_static(fid));
|
||||
fail_if(eolian_function_scope_get(fid, EOLIAN_METHOD) != EOLIAN_SCOPE_PUBLIC);
|
||||
fail_if(!(fid = eolian_class_function_by_name_get(class, "baz", EOLIAN_METHOD)));
|
||||
fail_if(!eolian_function_is_class(fid));
|
||||
fail_if(!eolian_function_is_static(fid));
|
||||
fail_if(eolian_function_scope_get(fid, EOLIAN_METHOD) != EOLIAN_SCOPE_PROTECTED);
|
||||
fail_if(!(fid = eolian_class_function_by_name_get(class, "bah", EOLIAN_METHOD)));
|
||||
fail_if(eolian_function_is_class(fid));
|
||||
fail_if(eolian_function_is_static(fid));
|
||||
fail_if(eolian_function_scope_get(fid, EOLIAN_METHOD) != EOLIAN_SCOPE_PROTECTED);
|
||||
|
||||
eolian_state_free(eos);
|
||||
|
|
Loading…
Reference in New Issue