bu5hm4n pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=a931e418234bc567d725c79a9e4d0462e02fa5a7

commit a931e418234bc567d725c79a9e4d0462e02fa5a7
Author: Marcel Hollerbach <[email protected]>
Date:   Thu Jul 16 12:39:23 2020 +0200

    efl: make all _class_get() functions const
    
    please note, not the return type, but the function.
    When appending __attribute__((const)) to a function, the compiler is
    told that its enough to call this function once in a function.
    
    This is quite often happening when we are efl_data_scope_get and
    efl_super in a function that is different from a implemented function.
    
    The compiler now starts to remove the calls that aggressivly that we
    need to ensure that these calls are not removed, which means, the static
    function calls, and the eo init are now checking the return value of
    these functions, to ensure that they are called.
    
    Please note that you now have to be carefull when your app calls
    eo_shutdown, if it does so, you *must* call it at the end of a function,
    or never call class_get after that anymore.
    
    Overall this improves elm test runs 0.1s which is fair i guess, the main
    thing that is faster is textrendering, where is also the point where
    this is the most beneficial.
    
    Please note, this replaces 42 occurences of double _class_get() ... THAT
    is a sign!
    
    Reviewed-by: Stefan Schmidt <[email protected]>
    Reviewed-by: Daniel Kolesa <[email protected]>
    Differential Revision: https://phab.enlightenment.org/D12057
---
 src/bin/eolian/headers.c                           |  2 +-
 src/bin/eolian/sources.c                           | 23 ++++++++++++++++------
 src/lib/ecore/ecore_exe_eo.h                       |  2 +-
 src/lib/ecore_con/ecore_con_eet_base_eo.h          |  2 +-
 src/lib/ecore_con/ecore_con_eet_client_obj_eo.h    |  2 +-
 src/lib/ecore_con/ecore_con_eet_server_obj_eo.h    |  2 +-
 src/lib/edje/edje_edit_eo.h                        |  2 +-
 src/lib/elementary/efl_ui_bg_legacy_eo.h           |  2 +-
 src/lib/elementary/efl_ui_button_legacy_eo.h       |  2 +-
 src/lib/elementary/efl_ui_check_legacy_eo.h        |  2 +-
 src/lib/elementary/efl_ui_flip_legacy_eo.h         |  2 +-
 .../efl_ui_focus_parent_provider_gen_eo.h          |  2 +-
 src/lib/elementary/efl_ui_frame_legacy_eo.h        |  2 +-
 src/lib/elementary/efl_ui_image_legacy_eo.h        |  2 +-
 .../elementary/efl_ui_image_zoomable_legacy_eo.h   |  2 +-
 src/lib/elementary/efl_ui_layout_legacy_eo.h       |  4 ++--
 src/lib/elementary/efl_ui_panes_legacy_eo.h        |  2 +-
 src/lib/elementary/efl_ui_progressbar_legacy_eo.h  |  2 +-
 src/lib/elementary/efl_ui_radio_legacy_eo.h        |  2 +-
 src/lib/elementary/efl_ui_textpath_legacy_eo.h     |  2 +-
 src/lib/elementary/efl_ui_vg_animation_eo.legacy.h |  2 +-
 src/lib/elementary/efl_ui_video_legacy_eo.h        |  2 +-
 src/lib/elementary/efl_ui_win_inlined_legacy_eo.h  |  2 +-
 src/lib/elementary/efl_ui_win_legacy_eo.h          |  2 +-
 src/lib/elementary/efl_ui_win_socket_legacy_eo.h   |  2 +-
 src/lib/elementary/elm_access_eo.h                 |  2 +-
 src/lib/elementary/elm_actionslider_eo.h           |  2 +-
 src/lib/elementary/elm_atspi_app_object_eo.h       |  2 +-
 src/lib/elementary/elm_atspi_bridge_eo.h           |  2 +-
 src/lib/elementary/elm_box_eo.h                    |  2 +-
 src/lib/elementary/elm_bubble_eo.h                 |  2 +-
 src/lib/elementary/elm_calendar_eo.h               |  2 +-
 src/lib/elementary/elm_calendar_item_eo.h          |  2 +-
 src/lib/elementary/elm_clock_eo.h                  |  2 +-
 src/lib/elementary/elm_code_widget_legacy_eo.h     |  2 +-
 src/lib/elementary/elm_color_item_eo.h             |  2 +-
 src/lib/elementary/elm_colorselector_eo.h          |  2 +-
 src/lib/elementary/elm_conformant_eo.h             |  2 +-
 src/lib/elementary/elm_ctxpopup_eo.h               |  2 +-
 src/lib/elementary/elm_ctxpopup_item_eo.h          |  2 +-
 src/lib/elementary/elm_dayselector_eo.h            |  2 +-
 src/lib/elementary/elm_dayselector_item_eo.h       |  2 +-
 src/lib/elementary/elm_diskselector_eo.h           |  2 +-
 src/lib/elementary/elm_diskselector_item_eo.h      |  2 +-
 src/lib/elementary/elm_entry_eo.h                  |  2 +-
 src/lib/elementary/elm_fileselector_button_eo.h    |  2 +-
 src/lib/elementary/elm_fileselector_entry_eo.h     |  2 +-
 src/lib/elementary/elm_fileselector_eo.h           |  2 +-
 src/lib/elementary/elm_flipselector_eo.h           |  2 +-
 src/lib/elementary/elm_flipselector_item_eo.h      |  2 +-
 src/lib/elementary/elm_gengrid_eo.h                |  2 +-
 src/lib/elementary/elm_gengrid_item_eo.h           |  2 +-
 src/lib/elementary/elm_gengrid_pan_eo.h            |  2 +-
 src/lib/elementary/elm_genlist_eo.h                |  2 +-
 src/lib/elementary/elm_genlist_item_eo.h           |  2 +-
 src/lib/elementary/elm_genlist_pan_eo.h            |  2 +-
 src/lib/elementary/elm_gesture_layer_eo.h          |  2 +-
 src/lib/elementary/elm_glview_eo.h                 |  2 +-
 src/lib/elementary/elm_grid_eo.h                   |  2 +-
 src/lib/elementary/elm_hover_eo.h                  |  2 +-
 src/lib/elementary/elm_hoversel_eo.h               |  2 +-
 src/lib/elementary/elm_hoversel_item_eo.h          |  2 +-
 src/lib/elementary/elm_icon_eo.h                   |  2 +-
 src/lib/elementary/elm_index_eo.h                  |  2 +-
 src/lib/elementary/elm_index_item_eo.h             |  2 +-
 src/lib/elementary/elm_interface_fileselector_eo.h |  2 +-
 src/lib/elementary/elm_inwin_eo.h                  |  2 +-
 src/lib/elementary/elm_label_eo.h                  |  2 +-
 src/lib/elementary/elm_list_eo.h                   |  2 +-
 src/lib/elementary/elm_list_item_eo.h              |  2 +-
 src/lib/elementary/elm_map_eo.h                    |  2 +-
 src/lib/elementary/elm_map_pan_eo.h                |  2 +-
 src/lib/elementary/elm_mapbuf_eo.h                 |  2 +-
 src/lib/elementary/elm_menu_eo.h                   |  2 +-
 src/lib/elementary/elm_menu_item_eo.h              |  2 +-
 src/lib/elementary/elm_multibuttonentry_eo.h       |  2 +-
 src/lib/elementary/elm_multibuttonentry_item_eo.h  |  2 +-
 src/lib/elementary/elm_naviframe_eo.h              |  2 +-
 src/lib/elementary/elm_naviframe_item_eo.h         |  2 +-
 src/lib/elementary/elm_notify_eo.h                 |  2 +-
 src/lib/elementary/elm_pan_eo.h                    |  2 +-
 src/lib/elementary/elm_panel_eo.h                  |  2 +-
 src/lib/elementary/elm_photo_eo.h                  |  2 +-
 src/lib/elementary/elm_player_eo.h                 |  2 +-
 src/lib/elementary/elm_plug_eo.h                   |  2 +-
 src/lib/elementary/elm_popup_eo.h                  |  2 +-
 src/lib/elementary/elm_popup_item_eo.h             |  2 +-
 src/lib/elementary/elm_prefs_eo.h                  |  2 +-
 src/lib/elementary/elm_route_eo.h                  |  2 +-
 src/lib/elementary/elm_scroller_eo.h               |  2 +-
 src/lib/elementary/elm_segment_control_eo.h        |  2 +-
 src/lib/elementary/elm_segment_control_item_eo.h   |  2 +-
 src/lib/elementary/elm_separator_eo.h              |  2 +-
 src/lib/elementary/elm_slider_eo.h                 |  2 +-
 src/lib/elementary/elm_slider_part_indicator_eo.h  |  2 +-
 src/lib/elementary/elm_slideshow_eo.h              |  2 +-
 src/lib/elementary/elm_slideshow_item_eo.h         |  2 +-
 src/lib/elementary/elm_spinner_eo.h                |  2 +-
 src/lib/elementary/elm_sys_notify_dbus_eo.h        |  2 +-
 src/lib/elementary/elm_sys_notify_eo.c             |  6 ++++--
 src/lib/elementary/elm_sys_notify_eo.h             |  2 +-
 src/lib/elementary/elm_sys_notify_interface_eo.h   |  2 +-
 src/lib/elementary/elm_systray_eo.h                |  2 +-
 src/lib/elementary/elm_table_eo.h                  |  2 +-
 src/lib/elementary/elm_thumb_eo.h                  |  2 +-
 src/lib/elementary/elm_toolbar_eo.h                |  2 +-
 src/lib/elementary/elm_toolbar_item_eo.h           |  2 +-
 src/lib/elementary/elm_view_form_eo.h              |  2 +-
 src/lib/elementary/elm_view_list_eo.h              |  2 +-
 src/lib/elementary/elm_web_eo.h                    |  2 +-
 src/lib/elementary/elm_widget_combobox.h           |  2 +-
 src/lib/elementary/elm_widget_item_container_eo.h  |  2 +-
 src/lib/elementary/elm_widget_item_eo.h            |  2 +-
 .../elementary/elm_widget_item_static_focus_eo.h   |  2 +-
 src/lib/eo/eo.c                                    |  6 +++---
 src/lib/evas/canvas/evas_box_eo.h                  |  2 +-
 src/lib/evas/canvas/evas_canvas_eo.h               |  2 +-
 src/lib/evas/canvas/evas_grid_eo.h                 |  2 +-
 src/lib/evas/canvas/evas_image_eo.h                |  2 +-
 src/lib/evas/canvas/evas_line_eo.h                 |  2 +-
 src/lib/evas/canvas/evas_table_eo.h                |  2 +-
 src/lib/evas/canvas/evas_text_eo.h                 |  2 +-
 src/lib/evas/canvas/evas_textgrid_eo.h             |  2 +-
 src/modules/elementary/web/none/elm_web_none_eo.h  |  2 +-
 src/tests/eo/suite/eo_test_event.c                 |  2 +-
 .../eo_test_reflection_complex_class_structure.h   |  6 +++---
 src/tests/eolian/data/class_simple_ref_eo.h        |  2 +-
 src/tests/eolian/data/docs_ref.h                   |  2 +-
 src/tests/eolian/data/function_as_argument_ref.h   |  2 +-
 src/tests/eolian/data/struct_ref.h                 |  2 +-
 src/tests/eolian/data/typedef_ref.h                |  2 +-
 131 files changed, 155 insertions(+), 142 deletions(-)

diff --git a/src/bin/eolian/headers.c b/src/bin/eolian/headers.c
index 0ba05ee88e..6292fb4259 100644
--- a/src/bin/eolian/headers.c
+++ b/src/bin/eolian/headers.c
@@ -225,7 +225,7 @@ eo_gen_header_gen(const Eolian_State *state, const 
Eolian_Class *cl,
    eina_strbuf_append_printf(buf, "#define %s %s()\n\n", mname, gname);
    eina_stringshare_del(mname);
 
-   eina_strbuf_append_printf(buf, "EWAPI const Efl_Class *%s(void);\n", gname);
+   eina_strbuf_append_printf(buf, "EWAPI const Efl_Class *%s(void) 
EINA_CONST;\n", gname);
    eina_stringshare_del(gname);
 
    /* method section */
diff --git a/src/bin/eolian/sources.c b/src/bin/eolian/sources.c
index dc79ee2daa..e5e8eb7a8b 100644
--- a/src/bin/eolian/sources.c
+++ b/src/bin/eolian/sources.c
@@ -472,7 +472,7 @@ _gen_reflect_set(Eina_Strbuf *buf, const char *cnamel,
 }
 
 static void
-_emit_class_function(Eina_Strbuf *buf, const Eolian_Function *fid, const char 
*rtpn, Eina_Strbuf *params_full,
+_emit_class_function(Eina_Strbuf *buf, const Eolian_Function *fid, const 
Eolian_Function_Type ftype, const Eolian_Type *rtp, const char *rtpn, 
Eina_Strbuf *params_full,
                      const char *ocnamel, const char *func_suffix, Eina_Strbuf 
*params, const char *function_name)
 {
    eina_strbuf_append(buf, "EOAPI ");
@@ -486,11 +486,22 @@ _emit_class_function(Eina_Strbuf *buf, const 
Eolian_Function *fid, const char *r
      eina_strbuf_append_buffer(buf, params_full);
    eina_strbuf_append(buf, ")\n");
    eina_strbuf_append(buf, "{\n");
-   eina_strbuf_append_printf(buf, "   %s();\n", 
eolian_class_c_get_function_name_get(eolian_function_class_get(fid)));
-   if (strcmp(rtpn, "void"))
-     eina_strbuf_append(buf, "   return ");
+   eina_strbuf_append_printf(buf, "   const Efl_Class *klass = %s();\n", 
eolian_class_c_get_function_name_get(eolian_function_class_get(fid)));
+   if (!!strcmp(rtpn, "void") && rtp)
+     {
+        const Eolian_Expression *default_value_expression = 
eolian_function_return_default_value_get(fid, ftype);
+
+        eina_strbuf_append_printf(buf, "   
EINA_SAFETY_ON_NULL_RETURN_VAL(klass,");
+        _append_defval(buf, default_value_expression, rtp, rtpn);
+        eina_strbuf_append_printf(buf, ");\n");
+
+        eina_strbuf_append(buf, "   return ");
+     }
    else
-     eina_strbuf_append(buf, "   ");
+     {
+        eina_strbuf_append(buf, "   EINA_SAFETY_ON_NULL_RETURN(klass);\n");
+        eina_strbuf_append(buf, "   ");
+     }
    eina_strbuf_append_printf(buf, "_%s", ocnamel);
    eina_strbuf_append_char(buf, '_');
    eina_strbuf_append(buf, eolian_function_name_get(fid));
@@ -925,7 +936,7 @@ _gen_func(const Eolian_Class *cl, const Eolian_Function 
*fid,
         eina_stringshare_del(eofn);
      }
    if (impl_same_class && eolian_function_is_static(fid))
-     _emit_class_function(buf, fid, rtpn, params_full, ocnamel, func_suffix, 
params, eolian_function_full_c_name_get(fid, ftype));
+     _emit_class_function(buf, fid, ftype, rtp, rtpn, params_full, ocnamel, 
func_suffix, params, eolian_function_full_c_name_get(fid, ftype));
 
    free(cname);
    free(cnamel);
diff --git a/src/lib/ecore/ecore_exe_eo.h b/src/lib/ecore/ecore_exe_eo.h
index 70b2c12ee0..a4ab65e635 100644
--- a/src/lib/ecore/ecore_exe_eo.h
+++ b/src/lib/ecore/ecore_exe_eo.h
@@ -80,7 +80,7 @@ typedef enum
  */
 #define ECORE_EXE_CLASS ecore_exe_class_get()
 
-EWAPI const Efl_Class *ecore_exe_class_get(void);
+EWAPI const Efl_Class *ecore_exe_class_get(void) EINA_CONST;
 
 /**
  * @brief Controls the command that's executed. FIXME: May need a split/rename.
diff --git a/src/lib/ecore_con/ecore_con_eet_base_eo.h 
b/src/lib/ecore_con/ecore_con_eet_base_eo.h
index 6c8176861f..f9bd8a777b 100644
--- a/src/lib/ecore_con/ecore_con_eet_base_eo.h
+++ b/src/lib/ecore_con/ecore_con_eet_base_eo.h
@@ -29,7 +29,7 @@ typedef struct _Ecore_Con_Reply Ecore_Con_Reply;
  */
 #define ECORE_CON_EET_BASE_CLASS ecore_con_eet_base_class_get()
 
-EWAPI const Efl_Class *ecore_con_eet_base_class_get(void);
+EWAPI const Efl_Class *ecore_con_eet_base_class_get(void) EINA_CONST;
 
 /**
  * @brief The server object to which we send and receive.
diff --git a/src/lib/ecore_con/ecore_con_eet_client_obj_eo.h 
b/src/lib/ecore_con/ecore_con_eet_client_obj_eo.h
index 0de995fca3..5bfdbb804c 100644
--- a/src/lib/ecore_con/ecore_con_eet_client_obj_eo.h
+++ b/src/lib/ecore_con/ecore_con_eet_client_obj_eo.h
@@ -19,6 +19,6 @@ typedef Eo Ecore_Con_Eet_Client_Obj;
  */
 #define ECORE_CON_EET_CLIENT_OBJ_CLASS ecore_con_eet_client_obj_class_get()
 
-EWAPI const Efl_Class *ecore_con_eet_client_obj_class_get(void);
+EWAPI const Efl_Class *ecore_con_eet_client_obj_class_get(void) EINA_CONST;
 
 #endif
diff --git a/src/lib/ecore_con/ecore_con_eet_server_obj_eo.h 
b/src/lib/ecore_con/ecore_con_eet_server_obj_eo.h
index 3d2a76c38e..8b71a69572 100644
--- a/src/lib/ecore_con/ecore_con_eet_server_obj_eo.h
+++ b/src/lib/ecore_con/ecore_con_eet_server_obj_eo.h
@@ -19,6 +19,6 @@ typedef Eo Ecore_Con_Eet_Server_Obj;
  */
 #define ECORE_CON_EET_SERVER_OBJ_CLASS ecore_con_eet_server_obj_class_get()
 
-EWAPI const Efl_Class *ecore_con_eet_server_obj_class_get(void);
+EWAPI const Efl_Class *ecore_con_eet_server_obj_class_get(void) EINA_CONST;
 
 #endif
diff --git a/src/lib/edje/edje_edit_eo.h b/src/lib/edje/edje_edit_eo.h
index f6c561a57d..c29b6e4da3 100644
--- a/src/lib/edje/edje_edit_eo.h
+++ b/src/lib/edje/edje_edit_eo.h
@@ -23,6 +23,6 @@ typedef Eo Edje_Edit;
  */
 #define EDJE_EDIT_CLASS edje_edit_class_get()
 
-EWAPI const Efl_Class *edje_edit_class_get(void);
+EWAPI const Efl_Class *edje_edit_class_get(void) EINA_CONST;
 
 #endif
diff --git a/src/lib/elementary/efl_ui_bg_legacy_eo.h 
b/src/lib/elementary/efl_ui_bg_legacy_eo.h
index ea3641dc2e..148db914b5 100644
--- a/src/lib/elementary/efl_ui_bg_legacy_eo.h
+++ b/src/lib/elementary/efl_ui_bg_legacy_eo.h
@@ -26,7 +26,7 @@ typedef Eo Efl_Ui_Bg_Legacy;
  */
 #define EFL_UI_BG_LEGACY_CLASS efl_ui_bg_legacy_class_get()
 
-EWAPI const Efl_Class *efl_ui_bg_legacy_class_get(void);
+EWAPI const Efl_Class *efl_ui_bg_legacy_class_get(void) EINA_CONST;
 #endif /* EFL_BETA_API_SUPPORT */
 
 #endif
diff --git a/src/lib/elementary/efl_ui_button_legacy_eo.h 
b/src/lib/elementary/efl_ui_button_legacy_eo.h
index 31630d64ef..d8c893016b 100644
--- a/src/lib/elementary/efl_ui_button_legacy_eo.h
+++ b/src/lib/elementary/efl_ui_button_legacy_eo.h
@@ -24,7 +24,7 @@ typedef Eo Efl_Ui_Button_Legacy;
  */
 #define EFL_UI_BUTTON_LEGACY_CLASS efl_ui_button_legacy_class_get()
 
-EWAPI const Efl_Class *efl_ui_button_legacy_class_get(void);
+EWAPI const Efl_Class *efl_ui_button_legacy_class_get(void) EINA_CONST;
 #endif /* EFL_BETA_API_SUPPORT */
 
 #endif
diff --git a/src/lib/elementary/efl_ui_check_legacy_eo.h 
b/src/lib/elementary/efl_ui_check_legacy_eo.h
index a8fb7f50e6..2cc1a576ab 100644
--- a/src/lib/elementary/efl_ui_check_legacy_eo.h
+++ b/src/lib/elementary/efl_ui_check_legacy_eo.h
@@ -26,7 +26,7 @@ typedef Eo Efl_Ui_Check_Legacy;
  */
 #define EFL_UI_CHECK_LEGACY_CLASS efl_ui_check_legacy_class_get()
 
-EWAPI const Efl_Class *efl_ui_check_legacy_class_get(void);
+EWAPI const Efl_Class *efl_ui_check_legacy_class_get(void) EINA_CONST;
 #endif /* EFL_BETA_API_SUPPORT */
 
 #endif
diff --git a/src/lib/elementary/efl_ui_flip_legacy_eo.h 
b/src/lib/elementary/efl_ui_flip_legacy_eo.h
index 8d578ddac5..a5b02aa7d4 100644
--- a/src/lib/elementary/efl_ui_flip_legacy_eo.h
+++ b/src/lib/elementary/efl_ui_flip_legacy_eo.h
@@ -20,7 +20,7 @@ typedef Eo Efl_Ui_Flip_Legacy;
  */
 #define EFL_UI_FLIP_LEGACY_CLASS efl_ui_flip_legacy_class_get()
 
-EWAPI const Efl_Class *efl_ui_flip_legacy_class_get(void);
+EWAPI const Efl_Class *efl_ui_flip_legacy_class_get(void) EINA_CONST;
 #endif /* EFL_BETA_API_SUPPORT */
 
 #endif
diff --git a/src/lib/elementary/efl_ui_focus_parent_provider_gen_eo.h 
b/src/lib/elementary/efl_ui_focus_parent_provider_gen_eo.h
index 1200debba4..fdc5a98ab7 100644
--- a/src/lib/elementary/efl_ui_focus_parent_provider_gen_eo.h
+++ b/src/lib/elementary/efl_ui_focus_parent_provider_gen_eo.h
@@ -20,7 +20,7 @@ typedef Eo Efl_Ui_Focus_Parent_Provider_Gen;
  */
 #define EFL_UI_FOCUS_PARENT_PROVIDER_GEN_CLASS 
efl_ui_focus_parent_provider_gen_class_get()
 
-EWAPI const Efl_Class *efl_ui_focus_parent_provider_gen_class_get(void);
+EWAPI const Efl_Class *efl_ui_focus_parent_provider_gen_class_get(void) 
EINA_CONST;
 
 /**
  * @brief Content item map property
diff --git a/src/lib/elementary/efl_ui_frame_legacy_eo.h 
b/src/lib/elementary/efl_ui_frame_legacy_eo.h
index ea4b164ba8..8f741e8911 100644
--- a/src/lib/elementary/efl_ui_frame_legacy_eo.h
+++ b/src/lib/elementary/efl_ui_frame_legacy_eo.h
@@ -25,7 +25,7 @@ typedef Eo Efl_Ui_Frame_Legacy;
  */
 #define EFL_UI_FRAME_LEGACY_CLASS efl_ui_frame_legacy_class_get()
 
-EWAPI const Efl_Class *efl_ui_frame_legacy_class_get(void);
+EWAPI const Efl_Class *efl_ui_frame_legacy_class_get(void) EINA_CONST;
 #endif /* EFL_BETA_API_SUPPORT */
 
 #endif
diff --git a/src/lib/elementary/efl_ui_image_legacy_eo.h 
b/src/lib/elementary/efl_ui_image_legacy_eo.h
index 204a09db05..2431a914b7 100644
--- a/src/lib/elementary/efl_ui_image_legacy_eo.h
+++ b/src/lib/elementary/efl_ui_image_legacy_eo.h
@@ -20,7 +20,7 @@ typedef Eo Efl_Ui_Image_Legacy;
  */
 #define EFL_UI_IMAGE_LEGACY_CLASS efl_ui_image_legacy_class_get()
 
-EWAPI const Efl_Class *efl_ui_image_legacy_class_get(void);
+EWAPI const Efl_Class *efl_ui_image_legacy_class_get(void) EINA_CONST;
 #endif /* EFL_BETA_API_SUPPORT */
 
 #endif
diff --git a/src/lib/elementary/efl_ui_image_zoomable_legacy_eo.h 
b/src/lib/elementary/efl_ui_image_zoomable_legacy_eo.h
index e18960f320..db71aead15 100644
--- a/src/lib/elementary/efl_ui_image_zoomable_legacy_eo.h
+++ b/src/lib/elementary/efl_ui_image_zoomable_legacy_eo.h
@@ -20,7 +20,7 @@ typedef Eo Efl_Ui_Image_Zoomable_Legacy;
  */
 #define EFL_UI_IMAGE_ZOOMABLE_LEGACY_CLASS 
efl_ui_image_zoomable_legacy_class_get()
 
-EWAPI const Efl_Class *efl_ui_image_zoomable_legacy_class_get(void);
+EWAPI const Efl_Class *efl_ui_image_zoomable_legacy_class_get(void) EINA_CONST;
 #endif /* EFL_BETA_API_SUPPORT */
 
 #endif
diff --git a/src/lib/elementary/efl_ui_layout_legacy_eo.h 
b/src/lib/elementary/efl_ui_layout_legacy_eo.h
index 687bd590c5..82ffd9e676 100644
--- a/src/lib/elementary/efl_ui_layout_legacy_eo.h
+++ b/src/lib/elementary/efl_ui_layout_legacy_eo.h
@@ -21,8 +21,8 @@ typedef Eo Efl_Ui_Layout_Legacy;
 #define EFL_UI_LAYOUT_LEGACY_CLASS efl_ui_layout_legacy_class_get()
 #define ELM_LAYOUT_MIXIN elm_layout_mixin_get()
 
-EWAPI const Efl_Class *efl_ui_layout_legacy_class_get(void);
-EWAPI const Efl_Class *elm_layout_mixin_get(void);
+EWAPI const Efl_Class *efl_ui_layout_legacy_class_get(void) EINA_CONST;
+EWAPI const Efl_Class *elm_layout_mixin_get(void) EINA_CONST;
 #endif /* EFL_BETA_API_SUPPORT */
 
 #endif
diff --git a/src/lib/elementary/efl_ui_panes_legacy_eo.h 
b/src/lib/elementary/efl_ui_panes_legacy_eo.h
index 692578c8ca..b4a63f4ca3 100644
--- a/src/lib/elementary/efl_ui_panes_legacy_eo.h
+++ b/src/lib/elementary/efl_ui_panes_legacy_eo.h
@@ -20,7 +20,7 @@ typedef Eo Efl_Ui_Panes_Legacy;
  */
 #define EFL_UI_PANES_LEGACY_CLASS efl_ui_panes_legacy_class_get()
 
-EWAPI const Efl_Class *efl_ui_panes_legacy_class_get(void);
+EWAPI const Efl_Class *efl_ui_panes_legacy_class_get(void) EINA_CONST;
 #endif /* EFL_BETA_API_SUPPORT */
 
 #endif
diff --git a/src/lib/elementary/efl_ui_progressbar_legacy_eo.h 
b/src/lib/elementary/efl_ui_progressbar_legacy_eo.h
index 00807e3fc4..8606e2deaa 100644
--- a/src/lib/elementary/efl_ui_progressbar_legacy_eo.h
+++ b/src/lib/elementary/efl_ui_progressbar_legacy_eo.h
@@ -20,7 +20,7 @@ typedef Eo Efl_Ui_Progressbar_Legacy;
  */
 #define EFL_UI_PROGRESSBAR_LEGACY_CLASS efl_ui_progressbar_legacy_class_get()
 
-EWAPI const Efl_Class *efl_ui_progressbar_legacy_class_get(void);
+EWAPI const Efl_Class *efl_ui_progressbar_legacy_class_get(void) EINA_CONST;
 #endif /* EFL_BETA_API_SUPPORT */
 
 #endif
diff --git a/src/lib/elementary/efl_ui_radio_legacy_eo.h 
b/src/lib/elementary/efl_ui_radio_legacy_eo.h
index 6e0cb00f12..6f37924eb6 100644
--- a/src/lib/elementary/efl_ui_radio_legacy_eo.h
+++ b/src/lib/elementary/efl_ui_radio_legacy_eo.h
@@ -20,7 +20,7 @@ typedef Eo Efl_Ui_Radio_Legacy;
  */
 #define EFL_UI_RADIO_LEGACY_CLASS efl_ui_radio_legacy_class_get()
 
-EWAPI const Efl_Class *efl_ui_radio_legacy_class_get(void);
+EWAPI const Efl_Class *efl_ui_radio_legacy_class_get(void) EINA_CONST;
 #endif /* EFL_BETA_API_SUPPORT */
 
 #endif
diff --git a/src/lib/elementary/efl_ui_textpath_legacy_eo.h 
b/src/lib/elementary/efl_ui_textpath_legacy_eo.h
index 9a721634b1..88962c270c 100644
--- a/src/lib/elementary/efl_ui_textpath_legacy_eo.h
+++ b/src/lib/elementary/efl_ui_textpath_legacy_eo.h
@@ -20,7 +20,7 @@ typedef Eo Efl_Ui_Textpath_Legacy;
  */
 #define EFL_UI_TEXTPATH_LEGACY_CLASS efl_ui_textpath_legacy_class_get()
 
-EWAPI const Efl_Class *efl_ui_textpath_legacy_class_get(void);
+EWAPI const Efl_Class *efl_ui_textpath_legacy_class_get(void) EINA_CONST;
 #endif /* EFL_BETA_API_SUPPORT */
 
 #endif
diff --git a/src/lib/elementary/efl_ui_vg_animation_eo.legacy.h 
b/src/lib/elementary/efl_ui_vg_animation_eo.legacy.h
index 5a46daa138..1545aeae43 100644
--- a/src/lib/elementary/efl_ui_vg_animation_eo.legacy.h
+++ b/src/lib/elementary/efl_ui_vg_animation_eo.legacy.h
@@ -521,7 +521,7 @@ EAPI int elm_animation_view_max_frame_get(const 
Elm_Animation_View *obj);
  */
 #define EFL_UI_VG_ANIMATION_LEGACY_CLASS efl_ui_vg_animation_legacy_class_get()
 
-EWAPI const Efl_Class *efl_ui_vg_animation_legacy_class_get(void);
+EWAPI const Efl_Class *efl_ui_vg_animation_legacy_class_get(void) EINA_CONST;
 #endif /* EFL_BETA_API_SUPPORT */
 
 #endif
diff --git a/src/lib/elementary/efl_ui_video_legacy_eo.h 
b/src/lib/elementary/efl_ui_video_legacy_eo.h
index f6d5382e38..2e2a6250eb 100644
--- a/src/lib/elementary/efl_ui_video_legacy_eo.h
+++ b/src/lib/elementary/efl_ui_video_legacy_eo.h
@@ -20,7 +20,7 @@ typedef Eo Efl_Ui_Video_Legacy;
  */
 #define EFL_UI_VIDEO_LEGACY_CLASS efl_ui_video_legacy_class_get()
 
-EWAPI const Efl_Class *efl_ui_video_legacy_class_get(void);
+EWAPI const Efl_Class *efl_ui_video_legacy_class_get(void) EINA_CONST;
 #endif /* EFL_BETA_API_SUPPORT */
 
 #endif
diff --git a/src/lib/elementary/efl_ui_win_inlined_legacy_eo.h 
b/src/lib/elementary/efl_ui_win_inlined_legacy_eo.h
index acacc7be02..4f706d0cbc 100644
--- a/src/lib/elementary/efl_ui_win_inlined_legacy_eo.h
+++ b/src/lib/elementary/efl_ui_win_inlined_legacy_eo.h
@@ -20,7 +20,7 @@ typedef Eo Efl_Ui_Win_Inlined_Legacy;
  */
 #define EFL_UI_WIN_INLINED_LEGACY_CLASS efl_ui_win_inlined_legacy_class_get()
 
-EWAPI const Efl_Class *efl_ui_win_inlined_legacy_class_get(void);
+EWAPI const Efl_Class *efl_ui_win_inlined_legacy_class_get(void) EINA_CONST;
 #endif /* EFL_BETA_API_SUPPORT */
 
 #endif
diff --git a/src/lib/elementary/efl_ui_win_legacy_eo.h 
b/src/lib/elementary/efl_ui_win_legacy_eo.h
index 70563cd14f..9d0ffb0303 100644
--- a/src/lib/elementary/efl_ui_win_legacy_eo.h
+++ b/src/lib/elementary/efl_ui_win_legacy_eo.h
@@ -20,7 +20,7 @@ typedef Eo Efl_Ui_Win_Legacy;
  */
 #define EFL_UI_WIN_LEGACY_CLASS efl_ui_win_legacy_class_get()
 
-EWAPI const Efl_Class *efl_ui_win_legacy_class_get(void);
+EWAPI const Efl_Class *efl_ui_win_legacy_class_get(void) EINA_CONST;
 #endif /* EFL_BETA_API_SUPPORT */
 
 #endif
diff --git a/src/lib/elementary/efl_ui_win_socket_legacy_eo.h 
b/src/lib/elementary/efl_ui_win_socket_legacy_eo.h
index b89a58aad1..5ed538f715 100644
--- a/src/lib/elementary/efl_ui_win_socket_legacy_eo.h
+++ b/src/lib/elementary/efl_ui_win_socket_legacy_eo.h
@@ -20,7 +20,7 @@ typedef Eo Efl_Ui_Win_Socket_Legacy;
  */
 #define EFL_UI_WIN_SOCKET_LEGACY_CLASS efl_ui_win_socket_legacy_class_get()
 
-EWAPI const Efl_Class *efl_ui_win_socket_legacy_class_get(void);
+EWAPI const Efl_Class *efl_ui_win_socket_legacy_class_get(void) EINA_CONST;
 #endif /* EFL_BETA_API_SUPPORT */
 
 #endif
diff --git a/src/lib/elementary/elm_access_eo.h 
b/src/lib/elementary/elm_access_eo.h
index 75921b80f5..3828b5a31e 100644
--- a/src/lib/elementary/elm_access_eo.h
+++ b/src/lib/elementary/elm_access_eo.h
@@ -19,6 +19,6 @@ typedef Eo Elm_Access;
  */
 #define ELM_ACCESS_CLASS elm_access_class_get()
 
-EWAPI const Efl_Class *elm_access_class_get(void);
+EWAPI const Efl_Class *elm_access_class_get(void) EINA_CONST;
 
 #endif
diff --git a/src/lib/elementary/elm_actionslider_eo.h 
b/src/lib/elementary/elm_actionslider_eo.h
index 9a6b55d484..99ab3805fc 100644
--- a/src/lib/elementary/elm_actionslider_eo.h
+++ b/src/lib/elementary/elm_actionslider_eo.h
@@ -38,7 +38,7 @@ typedef enum
  */
 #define ELM_ACTIONSLIDER_CLASS elm_actionslider_class_get()
 
-EWAPI const Efl_Class *elm_actionslider_class_get(void);
+EWAPI const Efl_Class *elm_actionslider_class_get(void) EINA_CONST;
 
 /**
  * @brief Actionslider position indicator
diff --git a/src/lib/elementary/elm_atspi_app_object_eo.h 
b/src/lib/elementary/elm_atspi_app_object_eo.h
index 0dff0ba000..1558c5b747 100644
--- a/src/lib/elementary/elm_atspi_app_object_eo.h
+++ b/src/lib/elementary/elm_atspi_app_object_eo.h
@@ -19,6 +19,6 @@ typedef Eo Elm_Atspi_App_Object;
  */
 #define ELM_ATSPI_APP_OBJECT_CLASS elm_atspi_app_object_class_get()
 
-EWAPI const Efl_Class *elm_atspi_app_object_class_get(void);
+EWAPI const Efl_Class *elm_atspi_app_object_class_get(void) EINA_CONST;
 
 #endif
diff --git a/src/lib/elementary/elm_atspi_bridge_eo.h 
b/src/lib/elementary/elm_atspi_bridge_eo.h
index 180544d25c..76cd68c690 100644
--- a/src/lib/elementary/elm_atspi_bridge_eo.h
+++ b/src/lib/elementary/elm_atspi_bridge_eo.h
@@ -19,7 +19,7 @@ typedef Eo Elm_Atspi_Bridge;
  */
 #define ELM_ATSPI_BRIDGE_CLASS elm_atspi_bridge_class_get()
 
-EWAPI const Efl_Class *elm_atspi_bridge_class_get(void);
+EWAPI const Efl_Class *elm_atspi_bridge_class_get(void) EINA_CONST;
 
 /**
  * @brief Indicate if connection with AT-SPI2 bus has been established.
diff --git a/src/lib/elementary/elm_box_eo.h b/src/lib/elementary/elm_box_eo.h
index 431226d52e..64c1174e35 100644
--- a/src/lib/elementary/elm_box_eo.h
+++ b/src/lib/elementary/elm_box_eo.h
@@ -19,7 +19,7 @@ typedef Eo Elm_Box;
  */
 #define ELM_BOX_CLASS elm_box_class_get()
 
-EWAPI const Efl_Class *elm_box_class_get(void);
+EWAPI const Efl_Class *elm_box_class_get(void) EINA_CONST;
 
 /**
  * @brief Set the box to arrange its children homogeneously
diff --git a/src/lib/elementary/elm_bubble_eo.h 
b/src/lib/elementary/elm_bubble_eo.h
index e94541d2c3..693bb98e60 100644
--- a/src/lib/elementary/elm_bubble_eo.h
+++ b/src/lib/elementary/elm_bubble_eo.h
@@ -40,7 +40,7 @@ typedef enum
  */
 #define ELM_BUBBLE_CLASS elm_bubble_class_get()
 
-EWAPI const Efl_Class *elm_bubble_class_get(void);
+EWAPI const Efl_Class *elm_bubble_class_get(void) EINA_CONST;
 
 /**
  * @brief The corner of the bubble
diff --git a/src/lib/elementary/elm_calendar_eo.h 
b/src/lib/elementary/elm_calendar_eo.h
index 53cbc96a82..a9cdaab195 100644
--- a/src/lib/elementary/elm_calendar_eo.h
+++ b/src/lib/elementary/elm_calendar_eo.h
@@ -128,7 +128,7 @@ typedef struct _Elm_Calendar_Mark Elm_Calendar_Mark;
  */
 #define ELM_CALENDAR_CLASS elm_calendar_class_get()
 
-EWAPI const Efl_Class *elm_calendar_class_get(void);
+EWAPI const Efl_Class *elm_calendar_class_get(void) EINA_CONST;
 
 /**
  * @brief The first day of week to use on calendar widgets'.
diff --git a/src/lib/elementary/elm_calendar_item_eo.h 
b/src/lib/elementary/elm_calendar_item_eo.h
index 39f5c435bf..6e33610bd3 100644
--- a/src/lib/elementary/elm_calendar_item_eo.h
+++ b/src/lib/elementary/elm_calendar_item_eo.h
@@ -19,7 +19,7 @@ typedef Eo Elm_Calendar_Item;
  */
 #define ELM_CALENDAR_ITEM_CLASS elm_calendar_item_class_get()
 
-EWAPI const Efl_Class *elm_calendar_item_class_get(void);
+EWAPI const Efl_Class *elm_calendar_item_class_get(void) EINA_CONST;
 
 /**
  * @brief Day number property
diff --git a/src/lib/elementary/elm_clock_eo.h 
b/src/lib/elementary/elm_clock_eo.h
index 0236dd26c4..829c161559 100644
--- a/src/lib/elementary/elm_clock_eo.h
+++ b/src/lib/elementary/elm_clock_eo.h
@@ -56,7 +56,7 @@ typedef enum
  */
 #define ELM_CLOCK_CLASS elm_clock_class_get()
 
-EWAPI const Efl_Class *elm_clock_class_get(void);
+EWAPI const Efl_Class *elm_clock_class_get(void) EINA_CONST;
 
 /**
  * @brief If the given clock widget must show hours in military or am/pm mode
diff --git a/src/lib/elementary/elm_code_widget_legacy_eo.h 
b/src/lib/elementary/elm_code_widget_legacy_eo.h
index 4d2b5ffb26..eb1a9b6bae 100644
--- a/src/lib/elementary/elm_code_widget_legacy_eo.h
+++ b/src/lib/elementary/elm_code_widget_legacy_eo.h
@@ -19,6 +19,6 @@ typedef Eo Elm_Code_Widget_Legacy;
  */
 #define ELM_CODE_WIDGET_LEGACY_CLASS elm_code_widget_legacy_class_get()
 
-EWAPI const Efl_Class *elm_code_widget_legacy_class_get(void);
+EWAPI const Efl_Class *elm_code_widget_legacy_class_get(void) EINA_CONST;
 
 #endif
diff --git a/src/lib/elementary/elm_color_item_eo.h 
b/src/lib/elementary/elm_color_item_eo.h
index 6fa8f14786..1c2f0ba06b 100644
--- a/src/lib/elementary/elm_color_item_eo.h
+++ b/src/lib/elementary/elm_color_item_eo.h
@@ -19,7 +19,7 @@ typedef Eo Elm_Color_Item;
  */
 #define ELM_COLOR_ITEM_CLASS elm_color_item_class_get()
 
-EWAPI const Efl_Class *elm_color_item_class_get(void);
+EWAPI const Efl_Class *elm_color_item_class_get(void) EINA_CONST;
 
 /**
  * @brief Set Palette item's color.
diff --git a/src/lib/elementary/elm_colorselector_eo.h 
b/src/lib/elementary/elm_colorselector_eo.h
index 84fe60a94a..88d7243fae 100644
--- a/src/lib/elementary/elm_colorselector_eo.h
+++ b/src/lib/elementary/elm_colorselector_eo.h
@@ -37,7 +37,7 @@ typedef enum
  */
 #define ELM_COLORSELECTOR_CLASS elm_colorselector_class_get()
 
-EWAPI const Efl_Class *elm_colorselector_class_get(void);
+EWAPI const Efl_Class *elm_colorselector_class_get(void) EINA_CONST;
 
 /**
  * @brief Set color to colorselector.
diff --git a/src/lib/elementary/elm_conformant_eo.h 
b/src/lib/elementary/elm_conformant_eo.h
index e3f449f4e4..7860da1862 100644
--- a/src/lib/elementary/elm_conformant_eo.h
+++ b/src/lib/elementary/elm_conformant_eo.h
@@ -19,7 +19,7 @@ typedef Eo Elm_Conformant;
  */
 #define ELM_CONFORMANT_CLASS elm_conformant_class_get()
 
-EWAPI const Efl_Class *elm_conformant_class_get(void);
+EWAPI const Efl_Class *elm_conformant_class_get(void) EINA_CONST;
 
 EWAPI extern const Efl_Event_Description 
_ELM_CONFORMANT_EVENT_VIRTUALKEYPAD_STATE_ON;
 
diff --git a/src/lib/elementary/elm_ctxpopup_eo.h 
b/src/lib/elementary/elm_ctxpopup_eo.h
index 505eddfa58..44a78d88b1 100644
--- a/src/lib/elementary/elm_ctxpopup_eo.h
+++ b/src/lib/elementary/elm_ctxpopup_eo.h
@@ -37,7 +37,7 @@ typedef enum
  */
 #define ELM_CTXPOPUP_CLASS elm_ctxpopup_class_get()
 
-EWAPI const Efl_Class *elm_ctxpopup_class_get(void);
+EWAPI const Efl_Class *elm_ctxpopup_class_get(void) EINA_CONST;
 
 /**
  * @brief Get the selected item in the widget.
diff --git a/src/lib/elementary/elm_ctxpopup_item_eo.h 
b/src/lib/elementary/elm_ctxpopup_item_eo.h
index f33426dc7a..aeb5141fa7 100644
--- a/src/lib/elementary/elm_ctxpopup_item_eo.h
+++ b/src/lib/elementary/elm_ctxpopup_item_eo.h
@@ -27,7 +27,7 @@ typedef Eo Elm_Ctxpopup_Item;
  */
 #define ELM_CTXPOPUP_ITEM_CLASS elm_ctxpopup_item_class_get()
 
-EWAPI const Efl_Class *elm_ctxpopup_item_class_get(void);
+EWAPI const Efl_Class *elm_ctxpopup_item_class_get(void) EINA_CONST;
 
 /**
  * @brief Get the item before this one in the widget's list of items.
diff --git a/src/lib/elementary/elm_dayselector_eo.h 
b/src/lib/elementary/elm_dayselector_eo.h
index 02e3d6fd10..23d5f368e5 100644
--- a/src/lib/elementary/elm_dayselector_eo.h
+++ b/src/lib/elementary/elm_dayselector_eo.h
@@ -41,7 +41,7 @@ typedef enum
  */
 #define ELM_DAYSELECTOR_CLASS elm_dayselector_class_get()
 
-EWAPI const Efl_Class *elm_dayselector_class_get(void);
+EWAPI const Efl_Class *elm_dayselector_class_get(void) EINA_CONST;
 
 /**
  * @brief Set the starting day of Dayselector.
diff --git a/src/lib/elementary/elm_dayselector_item_eo.h 
b/src/lib/elementary/elm_dayselector_item_eo.h
index 192c5b41a4..6cc03613f8 100644
--- a/src/lib/elementary/elm_dayselector_item_eo.h
+++ b/src/lib/elementary/elm_dayselector_item_eo.h
@@ -19,6 +19,6 @@ typedef Eo Elm_Dayselector_Item;
  */
 #define ELM_DAYSELECTOR_ITEM_CLASS elm_dayselector_item_class_get()
 
-EWAPI const Efl_Class *elm_dayselector_item_class_get(void);
+EWAPI const Efl_Class *elm_dayselector_item_class_get(void) EINA_CONST;
 
 #endif
diff --git a/src/lib/elementary/elm_diskselector_eo.h 
b/src/lib/elementary/elm_diskselector_eo.h
index 1c95bc125c..1b8195d4a6 100644
--- a/src/lib/elementary/elm_diskselector_eo.h
+++ b/src/lib/elementary/elm_diskselector_eo.h
@@ -19,7 +19,7 @@ typedef Eo Elm_Diskselector;
  */
 #define ELM_DISKSELECTOR_CLASS elm_diskselector_class_get()
 
-EWAPI const Efl_Class *elm_diskselector_class_get(void);
+EWAPI const Efl_Class *elm_diskselector_class_get(void) EINA_CONST;
 
 /**
  * @brief Set the side labels max length.
diff --git a/src/lib/elementary/elm_diskselector_item_eo.h 
b/src/lib/elementary/elm_diskselector_item_eo.h
index d322b4630a..f59515e3d2 100644
--- a/src/lib/elementary/elm_diskselector_item_eo.h
+++ b/src/lib/elementary/elm_diskselector_item_eo.h
@@ -19,7 +19,7 @@ typedef Eo Elm_Diskselector_Item;
  */
 #define ELM_DISKSELECTOR_ITEM_CLASS elm_diskselector_item_class_get()
 
-EWAPI const Efl_Class *elm_diskselector_item_class_get(void);
+EWAPI const Efl_Class *elm_diskselector_item_class_get(void) EINA_CONST;
 
 /**
  * @brief Get the item before @c item in diskselector.
diff --git a/src/lib/elementary/elm_entry_eo.h 
b/src/lib/elementary/elm_entry_eo.h
index 7ea896e931..43960893ba 100644
--- a/src/lib/elementary/elm_entry_eo.h
+++ b/src/lib/elementary/elm_entry_eo.h
@@ -19,7 +19,7 @@ typedef Eo Elm_Entry;
  */
 #define ELM_ENTRY_CLASS elm_entry_class_get()
 
-EWAPI const Efl_Class *elm_entry_class_get(void);
+EWAPI const Efl_Class *elm_entry_class_get(void) EINA_CONST;
 
 /**
  * @brief Enable or disable scrolling in entry
diff --git a/src/lib/elementary/elm_fileselector_button_eo.h 
b/src/lib/elementary/elm_fileselector_button_eo.h
index d130945e40..b551e25318 100644
--- a/src/lib/elementary/elm_fileselector_button_eo.h
+++ b/src/lib/elementary/elm_fileselector_button_eo.h
@@ -19,7 +19,7 @@ typedef Eo Elm_Fileselector_Button;
  */
 #define ELM_FILESELECTOR_BUTTON_CLASS elm_fileselector_button_class_get()
 
-EWAPI const Efl_Class *elm_fileselector_button_class_get(void);
+EWAPI const Efl_Class *elm_fileselector_button_class_get(void) EINA_CONST;
 
 EWAPI extern const Efl_Event_Description 
_ELM_FILESELECTOR_BUTTON_EVENT_FILE_CHOSEN;
 
diff --git a/src/lib/elementary/elm_fileselector_entry_eo.h 
b/src/lib/elementary/elm_fileselector_entry_eo.h
index b343a7e212..8ee352d387 100644
--- a/src/lib/elementary/elm_fileselector_entry_eo.h
+++ b/src/lib/elementary/elm_fileselector_entry_eo.h
@@ -19,7 +19,7 @@ typedef Eo Elm_Fileselector_Entry;
  */
 #define ELM_FILESELECTOR_ENTRY_CLASS elm_fileselector_entry_class_get()
 
-EWAPI const Efl_Class *elm_fileselector_entry_class_get(void);
+EWAPI const Efl_Class *elm_fileselector_entry_class_get(void) EINA_CONST;
 
 EWAPI extern const Efl_Event_Description _ELM_FILESELECTOR_ENTRY_EVENT_CHANGED;
 
diff --git a/src/lib/elementary/elm_fileselector_eo.h 
b/src/lib/elementary/elm_fileselector_eo.h
index 74ce3f1984..719c53dcb8 100644
--- a/src/lib/elementary/elm_fileselector_eo.h
+++ b/src/lib/elementary/elm_fileselector_eo.h
@@ -19,7 +19,7 @@ typedef Eo Elm_Fileselector;
  */
 #define ELM_FILESELECTOR_CLASS elm_fileselector_class_get()
 
-EWAPI const Efl_Class *elm_fileselector_class_get(void);
+EWAPI const Efl_Class *elm_fileselector_class_get(void) EINA_CONST;
 
 /**
  * @brief Enable/disable the "ok" and "cancel" buttons on a given file selector
diff --git a/src/lib/elementary/elm_flipselector_eo.h 
b/src/lib/elementary/elm_flipselector_eo.h
index c41fa562d7..ce996b494c 100644
--- a/src/lib/elementary/elm_flipselector_eo.h
+++ b/src/lib/elementary/elm_flipselector_eo.h
@@ -19,7 +19,7 @@ typedef Eo Elm_Flipselector;
  */
 #define ELM_FLIPSELECTOR_CLASS elm_flipselector_class_get()
 
-EWAPI const Efl_Class *elm_flipselector_class_get(void);
+EWAPI const Efl_Class *elm_flipselector_class_get(void) EINA_CONST;
 
 /**
  * @brief Get the internal list of items in a given flip selector widget.
diff --git a/src/lib/elementary/elm_flipselector_item_eo.h 
b/src/lib/elementary/elm_flipselector_item_eo.h
index ad156fe753..2a4059d069 100644
--- a/src/lib/elementary/elm_flipselector_item_eo.h
+++ b/src/lib/elementary/elm_flipselector_item_eo.h
@@ -19,7 +19,7 @@ typedef Eo Elm_Flipselector_Item;
  */
 #define ELM_FLIPSELECTOR_ITEM_CLASS elm_flipselector_item_class_get()
 
-EWAPI const Efl_Class *elm_flipselector_item_class_get(void);
+EWAPI const Efl_Class *elm_flipselector_item_class_get(void) EINA_CONST;
 
 /**
  * @brief Set whether a given flip selector widget's item should be the
diff --git a/src/lib/elementary/elm_gengrid_eo.h 
b/src/lib/elementary/elm_gengrid_eo.h
index 2e891e655b..040feaa069 100644
--- a/src/lib/elementary/elm_gengrid_eo.h
+++ b/src/lib/elementary/elm_gengrid_eo.h
@@ -29,7 +29,7 @@ typedef enum
  */
 #define ELM_GENGRID_CLASS elm_gengrid_class_get()
 
-EWAPI const Efl_Class *elm_gengrid_class_get(void);
+EWAPI const Efl_Class *elm_gengrid_class_get(void) EINA_CONST;
 
 /**
  * @brief Set the items grid's alignment within a given gengrid widget.
diff --git a/src/lib/elementary/elm_gengrid_item_eo.h 
b/src/lib/elementary/elm_gengrid_item_eo.h
index f03b78fe7f..84619ce1b8 100644
--- a/src/lib/elementary/elm_gengrid_item_eo.h
+++ b/src/lib/elementary/elm_gengrid_item_eo.h
@@ -27,7 +27,7 @@ typedef Eo Elm_Gengrid_Item;
  */
 #define ELM_GENGRID_ITEM_CLASS elm_gengrid_item_class_get()
 
-EWAPI const Efl_Class *elm_gengrid_item_class_get(void);
+EWAPI const Efl_Class *elm_gengrid_item_class_get(void) EINA_CONST;
 
 /**
  * @brief Get the previous item in a gengrid widget's internal list of items,
diff --git a/src/lib/elementary/elm_gengrid_pan_eo.h 
b/src/lib/elementary/elm_gengrid_pan_eo.h
index 277f40676d..39778b645b 100644
--- a/src/lib/elementary/elm_gengrid_pan_eo.h
+++ b/src/lib/elementary/elm_gengrid_pan_eo.h
@@ -19,6 +19,6 @@ typedef Eo Elm_Gengrid_Pan;
  */
 #define ELM_GENGRID_PAN_CLASS elm_gengrid_pan_class_get()
 
-EWAPI const Efl_Class *elm_gengrid_pan_class_get(void);
+EWAPI const Efl_Class *elm_gengrid_pan_class_get(void) EINA_CONST;
 
 #endif
diff --git a/src/lib/elementary/elm_genlist_eo.h 
b/src/lib/elementary/elm_genlist_eo.h
index 77b43f49d0..a66cfc89da 100644
--- a/src/lib/elementary/elm_genlist_eo.h
+++ b/src/lib/elementary/elm_genlist_eo.h
@@ -19,7 +19,7 @@ typedef Eo Elm_Genlist;
  */
 #define ELM_GENLIST_CLASS elm_genlist_class_get()
 
-EWAPI const Efl_Class *elm_genlist_class_get(void);
+EWAPI const Efl_Class *elm_genlist_class_get(void) EINA_CONST;
 
 /**
  * @brief Enable/disable homogeneous mode.
diff --git a/src/lib/elementary/elm_genlist_item_eo.h 
b/src/lib/elementary/elm_genlist_item_eo.h
index 2f98625f07..7916f17fd3 100644
--- a/src/lib/elementary/elm_genlist_item_eo.h
+++ b/src/lib/elementary/elm_genlist_item_eo.h
@@ -27,7 +27,7 @@ typedef Eo Elm_Genlist_Item;
  */
 #define ELM_GENLIST_ITEM_CLASS elm_genlist_item_class_get()
 
-EWAPI const Efl_Class *elm_genlist_item_class_get(void);
+EWAPI const Efl_Class *elm_genlist_item_class_get(void) EINA_CONST;
 
 /**
  * @brief Get the previous item in a genlist widget's internal list of items,
diff --git a/src/lib/elementary/elm_genlist_pan_eo.h 
b/src/lib/elementary/elm_genlist_pan_eo.h
index 1826f84584..0b1ba2601f 100644
--- a/src/lib/elementary/elm_genlist_pan_eo.h
+++ b/src/lib/elementary/elm_genlist_pan_eo.h
@@ -19,6 +19,6 @@ typedef Eo Elm_Genlist_Pan;
  */
 #define ELM_GENLIST_PAN_CLASS elm_genlist_pan_class_get()
 
-EWAPI const Efl_Class *elm_genlist_pan_class_get(void);
+EWAPI const Efl_Class *elm_genlist_pan_class_get(void) EINA_CONST;
 
 #endif
diff --git a/src/lib/elementary/elm_gesture_layer_eo.h 
b/src/lib/elementary/elm_gesture_layer_eo.h
index 2f15a10660..ce2fa70a75 100644
--- a/src/lib/elementary/elm_gesture_layer_eo.h
+++ b/src/lib/elementary/elm_gesture_layer_eo.h
@@ -52,7 +52,7 @@ typedef enum
  */
 #define ELM_GESTURE_LAYER_CLASS elm_gesture_layer_class_get()
 
-EWAPI const Efl_Class *elm_gesture_layer_class_get(void);
+EWAPI const Efl_Class *elm_gesture_layer_class_get(void) EINA_CONST;
 
 /**
  * @brief Control step value for zoom action.
diff --git a/src/lib/elementary/elm_glview_eo.h 
b/src/lib/elementary/elm_glview_eo.h
index 9e8879b805..7378627d0c 100644
--- a/src/lib/elementary/elm_glview_eo.h
+++ b/src/lib/elementary/elm_glview_eo.h
@@ -118,7 +118,7 @@ typedef enum
  */
 #define ELM_GLVIEW_CLASS elm_glview_class_get()
 
-EWAPI const Efl_Class *elm_glview_class_get(void);
+EWAPI const Efl_Class *elm_glview_class_get(void) EINA_CONST;
 
 /**
  * @brief Constructor with context version number.
diff --git a/src/lib/elementary/elm_grid_eo.h b/src/lib/elementary/elm_grid_eo.h
index d9ae0a821e..6b71e0855f 100644
--- a/src/lib/elementary/elm_grid_eo.h
+++ b/src/lib/elementary/elm_grid_eo.h
@@ -19,7 +19,7 @@ typedef Eo Elm_Grid;
  */
 #define ELM_GRID_CLASS elm_grid_class_get()
 
-EWAPI const Efl_Class *elm_grid_class_get(void);
+EWAPI const Efl_Class *elm_grid_class_get(void) EINA_CONST;
 
 /**
  * @brief Set the virtual size of the grid
diff --git a/src/lib/elementary/elm_hover_eo.h 
b/src/lib/elementary/elm_hover_eo.h
index 8030a27851..60275fd9c5 100644
--- a/src/lib/elementary/elm_hover_eo.h
+++ b/src/lib/elementary/elm_hover_eo.h
@@ -32,7 +32,7 @@ typedef enum
  */
 #define ELM_HOVER_CLASS elm_hover_class_get()
 
-EWAPI const Efl_Class *elm_hover_class_get(void);
+EWAPI const Efl_Class *elm_hover_class_get(void) EINA_CONST;
 
 /**
  * @brief Sets the target object for the hover.
diff --git a/src/lib/elementary/elm_hoversel_eo.h 
b/src/lib/elementary/elm_hoversel_eo.h
index cdbf7fcc42..ac4180b5dd 100644
--- a/src/lib/elementary/elm_hoversel_eo.h
+++ b/src/lib/elementary/elm_hoversel_eo.h
@@ -19,7 +19,7 @@ typedef Eo Elm_Hoversel;
  */
 #define ELM_HOVERSEL_CLASS elm_hoversel_class_get()
 
-EWAPI const Efl_Class *elm_hoversel_class_get(void);
+EWAPI const Efl_Class *elm_hoversel_class_get(void) EINA_CONST;
 
 /**
  * @brief Control if the hoversel should expand horizontally.
diff --git a/src/lib/elementary/elm_hoversel_item_eo.h 
b/src/lib/elementary/elm_hoversel_item_eo.h
index 13953aef0c..f8645bd831 100644
--- a/src/lib/elementary/elm_hoversel_item_eo.h
+++ b/src/lib/elementary/elm_hoversel_item_eo.h
@@ -19,7 +19,7 @@ typedef Eo Elm_Hoversel_Item;
  */
 #define ELM_HOVERSEL_ITEM_CLASS elm_hoversel_item_class_get()
 
-EWAPI const Efl_Class *elm_hoversel_item_class_get(void);
+EWAPI const Efl_Class *elm_hoversel_item_class_get(void) EINA_CONST;
 
 /**
  * @brief This controls the icon for the given hoversel item.
diff --git a/src/lib/elementary/elm_icon_eo.h b/src/lib/elementary/elm_icon_eo.h
index b53fed2b44..42e175a8be 100644
--- a/src/lib/elementary/elm_icon_eo.h
+++ b/src/lib/elementary/elm_icon_eo.h
@@ -19,7 +19,7 @@ typedef Eo Elm_Icon;
  */
 #define ELM_ICON_CLASS elm_icon_class_get()
 
-EWAPI const Efl_Class *elm_icon_class_get(void);
+EWAPI const Efl_Class *elm_icon_class_get(void) EINA_CONST;
 
 EWAPI extern const Efl_Event_Description _ELM_ICON_EVENT_THUMB_DONE;
 
diff --git a/src/lib/elementary/elm_index_eo.h 
b/src/lib/elementary/elm_index_eo.h
index 32af5b1d7b..c7fc586465 100644
--- a/src/lib/elementary/elm_index_eo.h
+++ b/src/lib/elementary/elm_index_eo.h
@@ -19,7 +19,7 @@ typedef Eo Elm_Index;
  */
 #define ELM_INDEX_CLASS elm_index_class_get()
 
-EWAPI const Efl_Class *elm_index_class_get(void);
+EWAPI const Efl_Class *elm_index_class_get(void) EINA_CONST;
 
 /**
  * @brief Enable or disable auto hiding feature for a given index widget.
diff --git a/src/lib/elementary/elm_index_item_eo.h 
b/src/lib/elementary/elm_index_item_eo.h
index 39c8a9e0be..e4dbbf820b 100644
--- a/src/lib/elementary/elm_index_item_eo.h
+++ b/src/lib/elementary/elm_index_item_eo.h
@@ -19,7 +19,7 @@ typedef Eo Elm_Index_Item;
  */
 #define ELM_INDEX_ITEM_CLASS elm_index_item_class_get()
 
-EWAPI const Efl_Class *elm_index_item_class_get(void);
+EWAPI const Efl_Class *elm_index_item_class_get(void) EINA_CONST;
 
 /**
  * @brief Set the selected state of an item.
diff --git a/src/lib/elementary/elm_interface_fileselector_eo.h 
b/src/lib/elementary/elm_interface_fileselector_eo.h
index f0996f18ae..dece644a6f 100644
--- a/src/lib/elementary/elm_interface_fileselector_eo.h
+++ b/src/lib/elementary/elm_interface_fileselector_eo.h
@@ -53,7 +53,7 @@ typedef enum
  */
 #define ELM_INTERFACE_FILESELECTOR_INTERFACE 
elm_interface_fileselector_interface_get()
 
-EWAPI const Efl_Class *elm_interface_fileselector_interface_get(void);
+EWAPI const Efl_Class *elm_interface_fileselector_interface_get(void) 
EINA_CONST;
 
 /**
  * @brief Enable/disable folder-only view for a given file selector widget
diff --git a/src/lib/elementary/elm_inwin_eo.h 
b/src/lib/elementary/elm_inwin_eo.h
index cb6ad90fd7..ee475538da 100644
--- a/src/lib/elementary/elm_inwin_eo.h
+++ b/src/lib/elementary/elm_inwin_eo.h
@@ -19,7 +19,7 @@ typedef Eo Elm_Inwin;
  */
 #define ELM_INWIN_CLASS elm_inwin_class_get()
 
-EWAPI const Efl_Class *elm_inwin_class_get(void);
+EWAPI const Efl_Class *elm_inwin_class_get(void) EINA_CONST;
 
 /**
  * @brief Activates an inwin object, ensuring its visibility
diff --git a/src/lib/elementary/elm_label_eo.h 
b/src/lib/elementary/elm_label_eo.h
index 56a0016f76..91f1c15fc0 100644
--- a/src/lib/elementary/elm_label_eo.h
+++ b/src/lib/elementary/elm_label_eo.h
@@ -31,7 +31,7 @@ typedef enum
  */
 #define ELM_LABEL_CLASS elm_label_class_get()
 
-EWAPI const Efl_Class *elm_label_class_get(void);
+EWAPI const Efl_Class *elm_label_class_get(void) EINA_CONST;
 
 /**
  * @brief Control wrap width of the label
diff --git a/src/lib/elementary/elm_list_eo.h b/src/lib/elementary/elm_list_eo.h
index 4f1b57e15e..ee3e72f908 100644
--- a/src/lib/elementary/elm_list_eo.h
+++ b/src/lib/elementary/elm_list_eo.h
@@ -19,7 +19,7 @@ typedef Eo Elm_List;
  */
 #define ELM_LIST_CLASS elm_list_class_get()
 
-EWAPI const Efl_Class *elm_list_class_get(void);
+EWAPI const Efl_Class *elm_list_class_get(void) EINA_CONST;
 
 /**
  * @brief Control horizontal mode on the list object.
diff --git a/src/lib/elementary/elm_list_item_eo.h 
b/src/lib/elementary/elm_list_item_eo.h
index 8aef9230a9..0b3800a893 100644
--- a/src/lib/elementary/elm_list_item_eo.h
+++ b/src/lib/elementary/elm_list_item_eo.h
@@ -19,7 +19,7 @@ typedef Eo Elm_List_Item;
  */
 #define ELM_LIST_ITEM_CLASS elm_list_item_class_get()
 
-EWAPI const Efl_Class *elm_list_item_class_get(void);
+EWAPI const Efl_Class *elm_list_item_class_get(void) EINA_CONST;
 
 /**
  * @brief Set or unset item as a separator.
diff --git a/src/lib/elementary/elm_map_eo.h b/src/lib/elementary/elm_map_eo.h
index 2ea40b40a1..d560228be9 100644
--- a/src/lib/elementary/elm_map_eo.h
+++ b/src/lib/elementary/elm_map_eo.h
@@ -69,7 +69,7 @@ typedef enum
  */
 #define ELM_MAP_CLASS elm_map_class_get()
 
-EWAPI const Efl_Class *elm_map_class_get(void);
+EWAPI const Efl_Class *elm_map_class_get(void) EINA_CONST;
 
 /**
  * @brief Set the minimum zoom of the source.
diff --git a/src/lib/elementary/elm_map_pan_eo.h 
b/src/lib/elementary/elm_map_pan_eo.h
index be8be64595..a452f88fe1 100644
--- a/src/lib/elementary/elm_map_pan_eo.h
+++ b/src/lib/elementary/elm_map_pan_eo.h
@@ -19,6 +19,6 @@ typedef Eo Elm_Map_Pan;
  */
 #define ELM_MAP_PAN_CLASS elm_map_pan_class_get()
 
-EWAPI const Efl_Class *elm_map_pan_class_get(void);
+EWAPI const Efl_Class *elm_map_pan_class_get(void) EINA_CONST;
 
 #endif
diff --git a/src/lib/elementary/elm_mapbuf_eo.h 
b/src/lib/elementary/elm_mapbuf_eo.h
index b9ba3f2630..039a8f4313 100644
--- a/src/lib/elementary/elm_mapbuf_eo.h
+++ b/src/lib/elementary/elm_mapbuf_eo.h
@@ -19,7 +19,7 @@ typedef Eo Elm_Mapbuf;
  */
 #define ELM_MAPBUF_CLASS elm_mapbuf_class_get()
 
-EWAPI const Efl_Class *elm_mapbuf_class_get(void);
+EWAPI const Efl_Class *elm_mapbuf_class_get(void) EINA_CONST;
 
 /**
  * @brief Set or unset auto flag for map rendering.
diff --git a/src/lib/elementary/elm_menu_eo.h b/src/lib/elementary/elm_menu_eo.h
index 1c4a8111eb..259982ead5 100644
--- a/src/lib/elementary/elm_menu_eo.h
+++ b/src/lib/elementary/elm_menu_eo.h
@@ -19,7 +19,7 @@ typedef Eo Elm_Menu;
  */
 #define ELM_MENU_CLASS elm_menu_class_get()
 
-EWAPI const Efl_Class *elm_menu_class_get(void);
+EWAPI const Efl_Class *elm_menu_class_get(void) EINA_CONST;
 
 /**
  * @brief Get the selected item in the widget.
diff --git a/src/lib/elementary/elm_menu_item_eo.h 
b/src/lib/elementary/elm_menu_item_eo.h
index 708e77ed6d..1d9a4d8b55 100644
--- a/src/lib/elementary/elm_menu_item_eo.h
+++ b/src/lib/elementary/elm_menu_item_eo.h
@@ -19,7 +19,7 @@ typedef Eo Elm_Menu_Item;
  */
 #define ELM_MENU_ITEM_CLASS elm_menu_item_class_get()
 
-EWAPI const Efl_Class *elm_menu_item_class_get(void);
+EWAPI const Efl_Class *elm_menu_item_class_get(void) EINA_CONST;
 
 /**
  * @brief Set the icon of a menu item to the standard icon with the given name.
diff --git a/src/lib/elementary/elm_multibuttonentry_eo.h 
b/src/lib/elementary/elm_multibuttonentry_eo.h
index cac86fc139..095e37f373 100644
--- a/src/lib/elementary/elm_multibuttonentry_eo.h
+++ b/src/lib/elementary/elm_multibuttonentry_eo.h
@@ -19,7 +19,7 @@ typedef Eo Elm_Multibuttonentry;
  */
 #define ELM_MULTIBUTTONENTRY_CLASS elm_multibuttonentry_class_get()
 
-EWAPI const Efl_Class *elm_multibuttonentry_class_get(void);
+EWAPI const Efl_Class *elm_multibuttonentry_class_get(void) EINA_CONST;
 
 /**
  * @brief Control if the multibuttonentry is to be editable or not.
diff --git a/src/lib/elementary/elm_multibuttonentry_item_eo.h 
b/src/lib/elementary/elm_multibuttonentry_item_eo.h
index c1f5484cce..cac6b15c09 100644
--- a/src/lib/elementary/elm_multibuttonentry_item_eo.h
+++ b/src/lib/elementary/elm_multibuttonentry_item_eo.h
@@ -19,7 +19,7 @@ typedef Eo Elm_Multibuttonentry_Item;
  */
 #define ELM_MULTIBUTTONENTRY_ITEM_CLASS elm_multibuttonentry_item_class_get()
 
-EWAPI const Efl_Class *elm_multibuttonentry_item_class_get(void);
+EWAPI const Efl_Class *elm_multibuttonentry_item_class_get(void) EINA_CONST;
 
 /**
  * @brief Control the selected state of an item
diff --git a/src/lib/elementary/elm_naviframe_eo.h 
b/src/lib/elementary/elm_naviframe_eo.h
index 8b4f4d8c0e..75981dcbb7 100644
--- a/src/lib/elementary/elm_naviframe_eo.h
+++ b/src/lib/elementary/elm_naviframe_eo.h
@@ -19,7 +19,7 @@ typedef Eo Elm_Naviframe;
  */
 #define ELM_NAVIFRAME_CLASS elm_naviframe_class_get()
 
-EWAPI const Efl_Class *elm_naviframe_class_get(void);
+EWAPI const Efl_Class *elm_naviframe_class_get(void) EINA_CONST;
 
 /**
  * @brief Control the event enabled when pushing/popping items
diff --git a/src/lib/elementary/elm_naviframe_item_eo.h 
b/src/lib/elementary/elm_naviframe_item_eo.h
index d5b86840f3..bc83d099dd 100644
--- a/src/lib/elementary/elm_naviframe_item_eo.h
+++ b/src/lib/elementary/elm_naviframe_item_eo.h
@@ -19,7 +19,7 @@ typedef Eo Elm_Naviframe_Item;
  */
 #define ELM_NAVIFRAME_ITEM_CLASS elm_naviframe_item_class_get()
 
-EWAPI const Efl_Class *elm_naviframe_item_class_get(void);
+EWAPI const Efl_Class *elm_naviframe_item_class_get(void) EINA_CONST;
 
 /**
  * @brief Pop the top item and delete the items between the top and the above
diff --git a/src/lib/elementary/elm_notify_eo.h 
b/src/lib/elementary/elm_notify_eo.h
index 37b0598982..8055f02143 100644
--- a/src/lib/elementary/elm_notify_eo.h
+++ b/src/lib/elementary/elm_notify_eo.h
@@ -19,7 +19,7 @@ typedef Eo Elm_Notify;
  */
 #define ELM_NOTIFY_CLASS elm_notify_class_get()
 
-EWAPI const Efl_Class *elm_notify_class_get(void);
+EWAPI const Efl_Class *elm_notify_class_get(void) EINA_CONST;
 
 /**
  * @brief Set the alignment of the notify object
diff --git a/src/lib/elementary/elm_pan_eo.h b/src/lib/elementary/elm_pan_eo.h
index a09652a4c8..d73afa2f8d 100644
--- a/src/lib/elementary/elm_pan_eo.h
+++ b/src/lib/elementary/elm_pan_eo.h
@@ -19,7 +19,7 @@ typedef Eo Elm_Pan;
  */
 #define ELM_PAN_CLASS elm_pan_class_get()
 
-EWAPI const Efl_Class *elm_pan_class_get(void);
+EWAPI const Efl_Class *elm_pan_class_get(void) EINA_CONST;
 
 /**
  * @brief Position
diff --git a/src/lib/elementary/elm_panel_eo.h 
b/src/lib/elementary/elm_panel_eo.h
index 5e045de3ef..7c199a1e39 100644
--- a/src/lib/elementary/elm_panel_eo.h
+++ b/src/lib/elementary/elm_panel_eo.h
@@ -31,7 +31,7 @@ typedef enum
  */
 #define ELM_PANEL_CLASS elm_panel_class_get()
 
-EWAPI const Efl_Class *elm_panel_class_get(void);
+EWAPI const Efl_Class *elm_panel_class_get(void) EINA_CONST;
 
 /**
  * @brief Set the orientation of the panel
diff --git a/src/lib/elementary/elm_photo_eo.h 
b/src/lib/elementary/elm_photo_eo.h
index 50cdb235b5..a624ca96d1 100644
--- a/src/lib/elementary/elm_photo_eo.h
+++ b/src/lib/elementary/elm_photo_eo.h
@@ -19,6 +19,6 @@ typedef Eo Elm_Photo;
  */
 #define ELM_PHOTO_CLASS elm_photo_class_get()
 
-EWAPI const Efl_Class *elm_photo_class_get(void);
+EWAPI const Efl_Class *elm_photo_class_get(void) EINA_CONST;
 
 #endif
diff --git a/src/lib/elementary/elm_player_eo.h 
b/src/lib/elementary/elm_player_eo.h
index 8efee210e8..c0b909863c 100644
--- a/src/lib/elementary/elm_player_eo.h
+++ b/src/lib/elementary/elm_player_eo.h
@@ -19,7 +19,7 @@ typedef Eo Elm_Player;
  */
 #define ELM_PLAYER_CLASS elm_player_class_get()
 
-EWAPI const Efl_Class *elm_player_class_get(void);
+EWAPI const Efl_Class *elm_player_class_get(void) EINA_CONST;
 
 EWAPI extern const Efl_Event_Description _ELM_PLAYER_EVENT_FORWARD_CLICKED;
 
diff --git a/src/lib/elementary/elm_plug_eo.h b/src/lib/elementary/elm_plug_eo.h
index f27785ff88..96a2efe46e 100644
--- a/src/lib/elementary/elm_plug_eo.h
+++ b/src/lib/elementary/elm_plug_eo.h
@@ -19,7 +19,7 @@ typedef Eo Elm_Plug;
  */
 #define ELM_PLUG_CLASS elm_plug_class_get()
 
-EWAPI const Efl_Class *elm_plug_class_get(void);
+EWAPI const Efl_Class *elm_plug_class_get(void) EINA_CONST;
 
 /**
  * @brief Get the basic Evas_Image object from this object (widget).
diff --git a/src/lib/elementary/elm_popup_eo.h 
b/src/lib/elementary/elm_popup_eo.h
index e040fe6dbc..f8055dda93 100644
--- a/src/lib/elementary/elm_popup_eo.h
+++ b/src/lib/elementary/elm_popup_eo.h
@@ -49,7 +49,7 @@ typedef enum
  */
 #define ELM_POPUP_CLASS elm_popup_class_get()
 
-EWAPI const Efl_Class *elm_popup_class_get(void);
+EWAPI const Efl_Class *elm_popup_class_get(void) EINA_CONST;
 
 /**
  * @brief Set the alignment of the popup object.
diff --git a/src/lib/elementary/elm_popup_item_eo.h 
b/src/lib/elementary/elm_popup_item_eo.h
index 46d6534289..d5ba854a3a 100644
--- a/src/lib/elementary/elm_popup_item_eo.h
+++ b/src/lib/elementary/elm_popup_item_eo.h
@@ -19,6 +19,6 @@ typedef Eo Elm_Popup_Item;
  */
 #define ELM_POPUP_ITEM_CLASS elm_popup_item_class_get()
 
-EWAPI const Efl_Class *elm_popup_item_class_get(void);
+EWAPI const Efl_Class *elm_popup_item_class_get(void) EINA_CONST;
 
 #endif
diff --git a/src/lib/elementary/elm_prefs_eo.h 
b/src/lib/elementary/elm_prefs_eo.h
index 0fcc5f05dd..08c70b50fb 100644
--- a/src/lib/elementary/elm_prefs_eo.h
+++ b/src/lib/elementary/elm_prefs_eo.h
@@ -19,7 +19,7 @@ typedef Eo Elm_Prefs;
  */
 #define ELM_PREFS_CLASS elm_prefs_class_get()
 
-EWAPI const Efl_Class *elm_prefs_class_get(void);
+EWAPI const Efl_Class *elm_prefs_class_get(void) EINA_CONST;
 
 /**
  * @brief Set user data for a given prefs widget
diff --git a/src/lib/elementary/elm_route_eo.h 
b/src/lib/elementary/elm_route_eo.h
index a1946233e8..64208eda8f 100644
--- a/src/lib/elementary/elm_route_eo.h
+++ b/src/lib/elementary/elm_route_eo.h
@@ -19,7 +19,7 @@ typedef Eo Elm_Route;
  */
 #define ELM_ROUTE_CLASS elm_route_class_get()
 
-EWAPI const Efl_Class *elm_route_class_get(void);
+EWAPI const Efl_Class *elm_route_class_get(void) EINA_CONST;
 
 /**
  * @brief Set map widget for this route
diff --git a/src/lib/elementary/elm_scroller_eo.h 
b/src/lib/elementary/elm_scroller_eo.h
index 6d4dd6ce38..29f6bef140 100644
--- a/src/lib/elementary/elm_scroller_eo.h
+++ b/src/lib/elementary/elm_scroller_eo.h
@@ -19,7 +19,7 @@ typedef Eo Elm_Scroller;
  */
 #define ELM_SCROLLER_CLASS elm_scroller_class_get()
 
-EWAPI const Efl_Class *elm_scroller_class_get(void);
+EWAPI const Efl_Class *elm_scroller_class_get(void) EINA_CONST;
 
 /**
  * @brief Set custom theme elements for the scroller
diff --git a/src/lib/elementary/elm_segment_control_eo.h 
b/src/lib/elementary/elm_segment_control_eo.h
index 36c78056d1..6c8b8f4bb9 100644
--- a/src/lib/elementary/elm_segment_control_eo.h
+++ b/src/lib/elementary/elm_segment_control_eo.h
@@ -19,7 +19,7 @@ typedef Eo Elm_Segment_Control;
  */
 #define ELM_SEGMENT_CONTROL_CLASS elm_segment_control_class_get()
 
-EWAPI const Efl_Class *elm_segment_control_class_get(void);
+EWAPI const Efl_Class *elm_segment_control_class_get(void) EINA_CONST;
 
 /**
  * @brief Get the Segment items count from segment control.
diff --git a/src/lib/elementary/elm_segment_control_item_eo.h 
b/src/lib/elementary/elm_segment_control_item_eo.h
index b61ba74a05..e6894161cf 100644
--- a/src/lib/elementary/elm_segment_control_item_eo.h
+++ b/src/lib/elementary/elm_segment_control_item_eo.h
@@ -19,7 +19,7 @@ typedef Eo Elm_Segment_Control_Item;
  */
 #define ELM_SEGMENT_CONTROL_ITEM_CLASS elm_segment_control_item_class_get()
 
-EWAPI const Efl_Class *elm_segment_control_item_class_get(void);
+EWAPI const Efl_Class *elm_segment_control_item_class_get(void) EINA_CONST;
 
 /**
  * @brief Get the index of an item.
diff --git a/src/lib/elementary/elm_separator_eo.h 
b/src/lib/elementary/elm_separator_eo.h
index ce4d5e0539..7c0375acf6 100644
--- a/src/lib/elementary/elm_separator_eo.h
+++ b/src/lib/elementary/elm_separator_eo.h
@@ -19,7 +19,7 @@ typedef Eo Elm_Separator;
  */
 #define ELM_SEPARATOR_CLASS elm_separator_class_get()
 
-EWAPI const Efl_Class *elm_separator_class_get(void);
+EWAPI const Efl_Class *elm_separator_class_get(void) EINA_CONST;
 
 /**
  * @brief Set the horizontal mode of a separator object
diff --git a/src/lib/elementary/elm_slider_eo.h 
b/src/lib/elementary/elm_slider_eo.h
index 1f95ec1770..6e21209c4b 100644
--- a/src/lib/elementary/elm_slider_eo.h
+++ b/src/lib/elementary/elm_slider_eo.h
@@ -19,6 +19,6 @@ typedef Eo Elm_Slider;
  */
 #define ELM_SLIDER_CLASS elm_slider_class_get()
 
-EWAPI const Efl_Class *elm_slider_class_get(void);
+EWAPI const Efl_Class *elm_slider_class_get(void) EINA_CONST;
 
 #endif
diff --git a/src/lib/elementary/elm_slider_part_indicator_eo.h 
b/src/lib/elementary/elm_slider_part_indicator_eo.h
index 058a44a356..7fb6d4397c 100644
--- a/src/lib/elementary/elm_slider_part_indicator_eo.h
+++ b/src/lib/elementary/elm_slider_part_indicator_eo.h
@@ -19,7 +19,7 @@ typedef Eo Elm_Slider_Part_Indicator;
  */
 #define ELM_SLIDER_PART_INDICATOR_CLASS elm_slider_part_indicator_class_get()
 
-EWAPI const Efl_Class *elm_slider_part_indicator_class_get(void);
+EWAPI const Efl_Class *elm_slider_part_indicator_class_get(void) EINA_CONST;
 
 /**
  * @brief Set/Get the visible mode of indicator.
diff --git a/src/lib/elementary/elm_slideshow_eo.h 
b/src/lib/elementary/elm_slideshow_eo.h
index 2c9d82cf80..c0cc60d30e 100644
--- a/src/lib/elementary/elm_slideshow_eo.h
+++ b/src/lib/elementary/elm_slideshow_eo.h
@@ -19,7 +19,7 @@ typedef Eo Elm_Slideshow;
  */
 #define ELM_SLIDESHOW_CLASS elm_slideshow_class_get()
 
-EWAPI const Efl_Class *elm_slideshow_class_get(void);
+EWAPI const Efl_Class *elm_slideshow_class_get(void) EINA_CONST;
 
 /**
  * @brief Set the number of items to cache, on a given slideshow widget, after
diff --git a/src/lib/elementary/elm_slideshow_item_eo.h 
b/src/lib/elementary/elm_slideshow_item_eo.h
index 065a7f6b83..131e572dc6 100644
--- a/src/lib/elementary/elm_slideshow_item_eo.h
+++ b/src/lib/elementary/elm_slideshow_item_eo.h
@@ -19,7 +19,7 @@ typedef Eo Elm_Slideshow_Item;
  */
 #define ELM_SLIDESHOW_ITEM_CLASS elm_slideshow_item_class_get()
 
-EWAPI const Efl_Class *elm_slideshow_item_class_get(void);
+EWAPI const Efl_Class *elm_slideshow_item_class_get(void) EINA_CONST;
 
 /**
  * @brief Display a given slideshow widget's item, programmatically.
diff --git a/src/lib/elementary/elm_spinner_eo.h 
b/src/lib/elementary/elm_spinner_eo.h
index 3042003185..2c0be0fe88 100644
--- a/src/lib/elementary/elm_spinner_eo.h
+++ b/src/lib/elementary/elm_spinner_eo.h
@@ -19,7 +19,7 @@ typedef Eo Elm_Spinner;
  */
 #define ELM_SPINNER_CLASS elm_spinner_class_get()
 
-EWAPI const Efl_Class *elm_spinner_class_get(void);
+EWAPI const Efl_Class *elm_spinner_class_get(void) EINA_CONST;
 
 /**
  * @brief Control whether the spinner should wrap when it reaches its minimum
diff --git a/src/lib/elementary/elm_sys_notify_dbus_eo.h 
b/src/lib/elementary/elm_sys_notify_dbus_eo.h
index c5976e4450..82b8adfe5b 100644
--- a/src/lib/elementary/elm_sys_notify_dbus_eo.h
+++ b/src/lib/elementary/elm_sys_notify_dbus_eo.h
@@ -19,6 +19,6 @@ typedef Eo Elm_Sys_Notify_Dbus;
  */
 #define ELM_SYS_NOTIFY_DBUS_CLASS elm_sys_notify_dbus_class_get()
 
-EWAPI const Efl_Class *elm_sys_notify_dbus_class_get(void);
+EWAPI const Efl_Class *elm_sys_notify_dbus_class_get(void) EINA_CONST;
 
 #endif
diff --git a/src/lib/elementary/elm_sys_notify_eo.c 
b/src/lib/elementary/elm_sys_notify_eo.c
index 7b57eca751..aede576b2f 100644
--- a/src/lib/elementary/elm_sys_notify_eo.c
+++ b/src/lib/elementary/elm_sys_notify_eo.c
@@ -11,12 +11,14 @@ Elm_Sys_Notify *_elm_sys_notify_singleton_get(void);
 
 EOAPI Elm_Sys_Notify * elm_obj_sys_notify_singleton_get(void)
 {
-   elm_sys_notify_class_get();
+   const Efl_Class *klass = elm_sys_notify_class_get();
+   EINA_SAFETY_ON_NULL_RETURN_VAL(klass, NULL);
    return _elm_sys_notify_singleton_get();
 }
 EOAPI Elm_Sys_Notify * elm_sys_notify_singleton_get(void)
 {
-   elm_sys_notify_class_get();
+   const Efl_Class *klass = elm_sys_notify_class_get();
+   EINA_SAFETY_ON_NULL_RETURN_VAL(klass, NULL);
    return _elm_sys_notify_singleton_get();
 }
 
diff --git a/src/lib/elementary/elm_sys_notify_eo.h 
b/src/lib/elementary/elm_sys_notify_eo.h
index 0f1f194f07..4094fc6f9c 100644
--- a/src/lib/elementary/elm_sys_notify_eo.h
+++ b/src/lib/elementary/elm_sys_notify_eo.h
@@ -73,7 +73,7 @@ typedef struct _Elm_Sys_Notify_Action_Invoked
  */
 #define ELM_SYS_NOTIFY_CLASS elm_sys_notify_class_get()
 
-EWAPI const Efl_Class *elm_sys_notify_class_get(void);
+EWAPI const Efl_Class *elm_sys_notify_class_get(void) EINA_CONST;
 
 /**
  * @brief Set the notifications server to be used.
diff --git a/src/lib/elementary/elm_sys_notify_interface_eo.h 
b/src/lib/elementary/elm_sys_notify_interface_eo.h
index 0c91b0135d..f850399def 100644
--- a/src/lib/elementary/elm_sys_notify_interface_eo.h
+++ b/src/lib/elementary/elm_sys_notify_interface_eo.h
@@ -32,7 +32,7 @@ typedef enum
  */
 #define ELM_SYS_NOTIFY_INTERFACE_INTERFACE 
elm_sys_notify_interface_interface_get()
 
-EWAPI const Efl_Class *elm_sys_notify_interface_interface_get(void);
+EWAPI const Efl_Class *elm_sys_notify_interface_interface_get(void) EINA_CONST;
 
 /**
  * @brief Causes a notification to be forcefully closed and removed from the
diff --git a/src/lib/elementary/elm_systray_eo.h 
b/src/lib/elementary/elm_systray_eo.h
index d50dc412b8..46486c02a9 100644
--- a/src/lib/elementary/elm_systray_eo.h
+++ b/src/lib/elementary/elm_systray_eo.h
@@ -47,7 +47,7 @@ typedef enum
  */
 #define ELM_SYSTRAY_CLASS elm_systray_class_get()
 
-EWAPI const Efl_Class *elm_systray_class_get(void);
+EWAPI const Efl_Class *elm_systray_class_get(void) EINA_CONST;
 
 /**
  * @brief Set the id of the Status Notifier Item.
diff --git a/src/lib/elementary/elm_table_eo.h 
b/src/lib/elementary/elm_table_eo.h
index bbfd371c20..6075383f19 100644
--- a/src/lib/elementary/elm_table_eo.h
+++ b/src/lib/elementary/elm_table_eo.h
@@ -19,7 +19,7 @@ typedef Eo Elm_Table;
  */
 #define ELM_TABLE_CLASS elm_table_class_get()
 
-EWAPI const Efl_Class *elm_table_class_get(void);
+EWAPI const Efl_Class *elm_table_class_get(void) EINA_CONST;
 
 /**
  * @brief Control the homogeneous state in a table.
diff --git a/src/lib/elementary/elm_thumb_eo.h 
b/src/lib/elementary/elm_thumb_eo.h
index 09eed0a0ba..01c20b037a 100644
--- a/src/lib/elementary/elm_thumb_eo.h
+++ b/src/lib/elementary/elm_thumb_eo.h
@@ -19,7 +19,7 @@ typedef Eo Elm_Thumb;
  */
 #define ELM_THUMB_CLASS elm_thumb_class_get()
 
-EWAPI const Efl_Class *elm_thumb_class_get(void);
+EWAPI const Efl_Class *elm_thumb_class_get(void) EINA_CONST;
 
 EWAPI extern const Efl_Event_Description _ELM_THUMB_EVENT_GENERATE_ERROR;
 
diff --git a/src/lib/elementary/elm_toolbar_eo.h 
b/src/lib/elementary/elm_toolbar_eo.h
index ae7d8ae467..8d6fcaa0b6 100644
--- a/src/lib/elementary/elm_toolbar_eo.h
+++ b/src/lib/elementary/elm_toolbar_eo.h
@@ -47,7 +47,7 @@ typedef enum
  */
 #define ELM_TOOLBAR_CLASS elm_toolbar_class_get()
 
-EWAPI const Efl_Class *elm_toolbar_class_get(void);
+EWAPI const Efl_Class *elm_toolbar_class_get(void) EINA_CONST;
 
 /**
  * @brief Get the selected item in the widget.
diff --git a/src/lib/elementary/elm_toolbar_item_eo.h 
b/src/lib/elementary/elm_toolbar_item_eo.h
index 44bb2d9810..c78b62e623 100644
--- a/src/lib/elementary/elm_toolbar_item_eo.h
+++ b/src/lib/elementary/elm_toolbar_item_eo.h
@@ -49,7 +49,7 @@ typedef struct _Elm_Toolbar_Item_State
  */
 #define ELM_TOOLBAR_ITEM_CLASS elm_toolbar_item_class_get()
 
-EWAPI const Efl_Class *elm_toolbar_item_class_get(void);
+EWAPI const Efl_Class *elm_toolbar_item_class_get(void) EINA_CONST;
 
 /**
  * @brief Get the item before this one in the widget's list of items.
diff --git a/src/lib/elementary/elm_view_form_eo.h 
b/src/lib/elementary/elm_view_form_eo.h
index 83dbe7e6c2..75560de31a 100644
--- a/src/lib/elementary/elm_view_form_eo.h
+++ b/src/lib/elementary/elm_view_form_eo.h
@@ -19,7 +19,7 @@ typedef Eo Elm_View_Form;
  */
 #define ELM_VIEW_FORM_CLASS elm_view_form_class_get()
 
-EWAPI const Efl_Class *elm_view_form_class_get(void);
+EWAPI const Efl_Class *elm_view_form_class_get(void) EINA_CONST;
 
 /**
  * @brief Set model
diff --git a/src/lib/elementary/elm_view_list_eo.h 
b/src/lib/elementary/elm_view_list_eo.h
index f35c275c3b..2688b4f6cb 100644
--- a/src/lib/elementary/elm_view_list_eo.h
+++ b/src/lib/elementary/elm_view_list_eo.h
@@ -19,7 +19,7 @@ typedef Eo Elm_View_List;
  */
 #define ELM_VIEW_LIST_CLASS elm_view_list_class_get()
 
-EWAPI const Efl_Class *elm_view_list_class_get(void);
+EWAPI const Efl_Class *elm_view_list_class_get(void) EINA_CONST;
 
 /**
  * @brief Constructor wrapper
diff --git a/src/lib/elementary/elm_web_eo.h b/src/lib/elementary/elm_web_eo.h
index 0407b40188..73f4311dfe 100644
--- a/src/lib/elementary/elm_web_eo.h
+++ b/src/lib/elementary/elm_web_eo.h
@@ -19,7 +19,7 @@ typedef Eo Elm_Web;
  */
 #define ELM_WEB_CLASS elm_web_class_get()
 
-EWAPI const Efl_Class *elm_web_class_get(void);
+EWAPI const Efl_Class *elm_web_class_get(void) EINA_CONST;
 
 /**
  * @brief Sets whether to highlight the matched marks.
diff --git a/src/lib/elementary/elm_widget_combobox.h 
b/src/lib/elementary/elm_widget_combobox.h
index 889f97b28b..2fe0ce8bcb 100644
--- a/src/lib/elementary/elm_widget_combobox.h
+++ b/src/lib/elementary/elm_widget_combobox.h
@@ -81,6 +81,6 @@ struct _Elm_Combobox_Data
 
 #define ELM_COMBOBOX_CLASS elm_combobox_class_get()
 
-EWAPI const Efl_Class *elm_combobox_class_get(void);
+EWAPI const Efl_Class *elm_combobox_class_get(void) EINA_CONST;
 
 #endif
diff --git a/src/lib/elementary/elm_widget_item_container_eo.h 
b/src/lib/elementary/elm_widget_item_container_eo.h
index 066876e5cd..e5966ba51e 100644
--- a/src/lib/elementary/elm_widget_item_container_eo.h
+++ b/src/lib/elementary/elm_widget_item_container_eo.h
@@ -15,7 +15,7 @@ typedef Eo Elm_Widget_Item_Container;
 #endif
 #define ELM_WIDGET_ITEM_CONTAINER_INTERFACE 
elm_widget_item_container_interface_get()
 
-EWAPI const Efl_Class *elm_widget_item_container_interface_get(void);
+EWAPI const Efl_Class *elm_widget_item_container_interface_get(void) 
EINA_CONST;
 
 /**
  * @brief Get the focused widget item.
diff --git a/src/lib/elementary/elm_widget_item_eo.h 
b/src/lib/elementary/elm_widget_item_eo.h
index 09ac2258c2..d6486e6e5a 100644
--- a/src/lib/elementary/elm_widget_item_eo.h
+++ b/src/lib/elementary/elm_widget_item_eo.h
@@ -19,7 +19,7 @@ typedef Eo Elm_Widget_Item;
  */
 #define ELM_WIDGET_ITEM_CLASS elm_widget_item_class_get()
 
-EWAPI const Efl_Class *elm_widget_item_class_get(void);
+EWAPI const Efl_Class *elm_widget_item_class_get(void) EINA_CONST;
 
 /**
  * @brief Control size restriction state of an object's tooltip
diff --git a/src/lib/elementary/elm_widget_item_static_focus_eo.h 
b/src/lib/elementary/elm_widget_item_static_focus_eo.h
index c1f058f042..d5173d06b8 100644
--- a/src/lib/elementary/elm_widget_item_static_focus_eo.h
+++ b/src/lib/elementary/elm_widget_item_static_focus_eo.h
@@ -21,6 +21,6 @@ typedef Eo Elm_Widget_Item_Static_Focus;
  */
 #define ELM_WIDGET_ITEM_STATIC_FOCUS_CLASS 
elm_widget_item_static_focus_class_get()
 
-EWAPI const Efl_Class *elm_widget_item_static_focus_class_get(void);
+EWAPI const Efl_Class *elm_widget_item_static_focus_class_get(void) EINA_CONST;
 
 #endif
diff --git a/src/lib/eo/eo.c b/src/lib/eo/eo.c
index f5d880918f..c3b6a8b6f7 100644
--- a/src/lib/eo/eo.c
+++ b/src/lib/eo/eo.c
@@ -2487,11 +2487,11 @@ efl_object_init(void)
                    EINA_LOG_STATE_INIT);
 
    /* bootstrap EFL_CLASS_CLASS */
-   (void) EFL_CLASS_CLASS;
+   const Eo *efl_klass = EFL_CLASS_CLASS;
    /* bootstrap EFL_OBJECT_CLASS */
-   (void) EFL_OBJECT_CLASS;
+   const Eo *efl_object = EFL_OBJECT_CLASS;
 
-   return EINA_TRUE;
+   return efl_klass && efl_object;
 }
 
 EAPI Eina_Bool
diff --git a/src/lib/evas/canvas/evas_box_eo.h 
b/src/lib/evas/canvas/evas_box_eo.h
index 2f36d7c490..e78f97a5e4 100644
--- a/src/lib/evas/canvas/evas_box_eo.h
+++ b/src/lib/evas/canvas/evas_box_eo.h
@@ -19,7 +19,7 @@ typedef Eo Evas_Box;
  */
 #define EVAS_BOX_CLASS evas_box_class_get()
 
-EWAPI const Efl_Class *evas_box_class_get(void);
+EWAPI const Efl_Class *evas_box_class_get(void) EINA_CONST;
 
 /**
  * @brief Set the alignment of the whole bounding box of contents, for a given
diff --git a/src/lib/evas/canvas/evas_canvas_eo.h 
b/src/lib/evas/canvas/evas_canvas_eo.h
index 370421449c..fc21b39075 100644
--- a/src/lib/evas/canvas/evas_canvas_eo.h
+++ b/src/lib/evas/canvas/evas_canvas_eo.h
@@ -19,7 +19,7 @@ typedef Eo Evas_Canvas;
  */
 #define EVAS_CANVAS_CLASS evas_canvas_class_get()
 
-EWAPI const Efl_Class *evas_canvas_class_get(void);
+EWAPI const Efl_Class *evas_canvas_class_get(void) EINA_CONST;
 
 /**
  * @brief Set the image cache.
diff --git a/src/lib/evas/canvas/evas_grid_eo.h 
b/src/lib/evas/canvas/evas_grid_eo.h
index 4064c62e1d..29477cc2c4 100644
--- a/src/lib/evas/canvas/evas_grid_eo.h
+++ b/src/lib/evas/canvas/evas_grid_eo.h
@@ -19,7 +19,7 @@ typedef Eo Evas_Grid;
  */
 #define EVAS_GRID_CLASS evas_grid_class_get()
 
-EWAPI const Efl_Class *evas_grid_class_get(void);
+EWAPI const Efl_Class *evas_grid_class_get(void) EINA_CONST;
 
 /**
  * @brief Set the virtual resolution for the grid
diff --git a/src/lib/evas/canvas/evas_image_eo.h 
b/src/lib/evas/canvas/evas_image_eo.h
index af9f1a038a..f7ca922fc6 100644
--- a/src/lib/evas/canvas/evas_image_eo.h
+++ b/src/lib/evas/canvas/evas_image_eo.h
@@ -19,6 +19,6 @@ typedef Eo Evas_Image;
  */
 #define EVAS_IMAGE_CLASS evas_image_class_get()
 
-EWAPI const Efl_Class *evas_image_class_get(void);
+EWAPI const Efl_Class *evas_image_class_get(void) EINA_CONST;
 
 #endif
diff --git a/src/lib/evas/canvas/evas_line_eo.h 
b/src/lib/evas/canvas/evas_line_eo.h
index bcdebcddef..c22e89e5fe 100644
--- a/src/lib/evas/canvas/evas_line_eo.h
+++ b/src/lib/evas/canvas/evas_line_eo.h
@@ -19,7 +19,7 @@ typedef Eo Evas_Line;
  */
 #define EVAS_LINE_CLASS evas_line_class_get()
 
-EWAPI const Efl_Class *evas_line_class_get(void);
+EWAPI const Efl_Class *evas_line_class_get(void) EINA_CONST;
 
 /**
  * @brief Sets the coordinates of the end points of the given evas line object.
diff --git a/src/lib/evas/canvas/evas_table_eo.h 
b/src/lib/evas/canvas/evas_table_eo.h
index c0c7b23000..4eaf411535 100644
--- a/src/lib/evas/canvas/evas_table_eo.h
+++ b/src/lib/evas/canvas/evas_table_eo.h
@@ -34,7 +34,7 @@ typedef enum
  */
 #define EVAS_TABLE_CLASS evas_table_class_get()
 
-EWAPI const Efl_Class *evas_table_class_get(void);
+EWAPI const Efl_Class *evas_table_class_get(void) EINA_CONST;
 
 /**
  * @brief Set how this table should layout children.
diff --git a/src/lib/evas/canvas/evas_text_eo.h 
b/src/lib/evas/canvas/evas_text_eo.h
index 93ce36e834..a48652ec43 100644
--- a/src/lib/evas/canvas/evas_text_eo.h
+++ b/src/lib/evas/canvas/evas_text_eo.h
@@ -19,7 +19,7 @@ typedef Eo Evas_Text;
  */
 #define EVAS_TEXT_CLASS evas_text_class_get()
 
-EWAPI const Efl_Class *evas_text_class_get(void);
+EWAPI const Efl_Class *evas_text_class_get(void) EINA_CONST;
 
 /**
  * @brief Controls the shadow color for the given text object.
diff --git a/src/lib/evas/canvas/evas_textgrid_eo.h 
b/src/lib/evas/canvas/evas_textgrid_eo.h
index 0b88b67db8..59bd2f3a0d 100644
--- a/src/lib/evas/canvas/evas_textgrid_eo.h
+++ b/src/lib/evas/canvas/evas_textgrid_eo.h
@@ -53,7 +53,7 @@ typedef struct _Evas_Textgrid_Cell Evas_Textgrid_Cell;
  */
 #define EVAS_TEXTGRID_CLASS evas_textgrid_class_get()
 
-EWAPI const Efl_Class *evas_textgrid_class_get(void);
+EWAPI const Efl_Class *evas_textgrid_class_get(void) EINA_CONST;
 
 /**
  * @brief This function is not implemented yet, do not use.
diff --git a/src/modules/elementary/web/none/elm_web_none_eo.h 
b/src/modules/elementary/web/none/elm_web_none_eo.h
index 8bf39b1461..df91907d17 100644
--- a/src/modules/elementary/web/none/elm_web_none_eo.h
+++ b/src/modules/elementary/web/none/elm_web_none_eo.h
@@ -19,6 +19,6 @@ typedef Eo Elm_Web_None;
  */
 #define ELM_WEB_NONE_CLASS elm_web_none_class_get()
 
-EWAPI const Efl_Class *elm_web_none_class_get(void);
+EWAPI const Efl_Class *elm_web_none_class_get(void) EINA_CONST;
 
 #endif
diff --git a/src/tests/eo/suite/eo_test_event.c 
b/src/tests/eo/suite/eo_test_event.c
index f7a26708f4..9148f64363 100644
--- a/src/tests/eo/suite/eo_test_event.c
+++ b/src/tests/eo/suite/eo_test_event.c
@@ -11,7 +11,7 @@
 
 //Class definition with one event
 
-EWAPI const Efl_Class *efl_test_event_class_get(void);
+EWAPI const Efl_Class *efl_test_event_class_get(void) EINA_CONST;
 
 EWAPI extern const Efl_Event_Description _EFL_TEST_EVENT_EVENT_TESTER;
 EWAPI extern const Efl_Event_Description 
_EFL_TEST_EVENT_EVENT_TESTER_SUBSCRIBE;
diff --git a/src/tests/eo/suite/eo_test_reflection_complex_class_structure.h 
b/src/tests/eo/suite/eo_test_reflection_complex_class_structure.h
index ae615c9428..df3136e9b1 100644
--- a/src/tests/eo/suite/eo_test_reflection_complex_class_structure.h
+++ b/src/tests/eo/suite/eo_test_reflection_complex_class_structure.h
@@ -3,18 +3,18 @@
 
 typedef Eo Complex_Mixin;
 #define COMPLEX_MIXIN_MIXIN complex_mixin_mixin_get()
-EWAPI const Efl_Class *complex_mixin_mixin_get(void);
+EWAPI const Efl_Class *complex_mixin_mixin_get(void) EINA_CONST;
 EOAPI void complex_mixin_m_test_set(Eo *obj, int i);
 EOAPI int complex_mixin_m_test_get(const Eo *obj);
 
 typedef Eo Complex_Interface;
 #define COMPLEX_INTERFACE_INTERFACE complex_interface_interface_get()
-EWAPI const Efl_Class *complex_interface_interface_get(void);
+EWAPI const Efl_Class *complex_interface_interface_get(void) EINA_CONST;
 EOAPI void complex_interface_i_test_set(Eo *obj, int i);
 EOAPI int complex_interface_i_test_get(const Eo *obj);
 
 typedef Eo Complex_Class;
 #define COMPLEX_CLASS_CLASS complex_class_class_get()
-EWAPI const Efl_Class *complex_class_class_get(void);
+EWAPI const Efl_Class *complex_class_class_get(void) EINA_CONST;
 
 #endif
diff --git a/src/tests/eolian/data/class_simple_ref_eo.h 
b/src/tests/eolian/data/class_simple_ref_eo.h
index e3c093b372..b9c49e9561 100644
--- a/src/tests/eolian/data/class_simple_ref_eo.h
+++ b/src/tests/eolian/data/class_simple_ref_eo.h
@@ -31,7 +31,7 @@ typedef Eo Class_Simple;
  */
 #define CLASS_SIMPLE_CLASS class_simple_class_get()
 
-EWAPI const Efl_Class *class_simple_class_get(void);
+EWAPI const Efl_Class *class_simple_class_get(void) EINA_CONST;
 
 #ifdef EFL_BETA_API_SUPPORT
 /**
diff --git a/src/tests/eolian/data/docs_ref.h b/src/tests/eolian/data/docs_ref.h
index cb5fd6401c..79948b74ea 100644
--- a/src/tests/eolian/data/docs_ref.h
+++ b/src/tests/eolian/data/docs_ref.h
@@ -99,7 +99,7 @@ typedef struct _Opaque Opaque;
  */
 #define EO_DOCS_CLASS eo_docs_class_get()
 
-EWAPI const Efl_Class *eo_docs_class_get(void);
+EWAPI const Efl_Class *eo_docs_class_get(void) EINA_CONST;
 
 /**
  * @brief Method documentation.
diff --git a/src/tests/eolian/data/function_as_argument_ref.h 
b/src/tests/eolian/data/function_as_argument_ref.h
index 56a8e3effa..2f522cd5fb 100644
--- a/src/tests/eolian/data/function_as_argument_ref.h
+++ b/src/tests/eolian/data/function_as_argument_ref.h
@@ -21,7 +21,7 @@ typedef Eo Function_As_Argument;
  */
 #define FUNCTION_AS_ARGUMENT_CLASS function_as_argument_class_get()
 
-EWAPI const Efl_Class *function_as_argument_class_get(void);
+EWAPI const Efl_Class *function_as_argument_class_get(void) EINA_CONST;
 
 EOAPI void function_as_argument_set_cb(Eo *obj, void *cb_data, SimpleFunc cb, 
Eina_Free_Cb cb_free_cb);
 
diff --git a/src/tests/eolian/data/struct_ref.h 
b/src/tests/eolian/data/struct_ref.h
index a5a1f5e0f8..61d3b85f89 100644
--- a/src/tests/eolian/data/struct_ref.h
+++ b/src/tests/eolian/data/struct_ref.h
@@ -52,7 +52,7 @@ typedef struct _Opaque Opaque;
  */
 #define STRUCT_CLASS struct_class_get()
 
-EWAPI const Efl_Class *struct_class_get(void);
+EWAPI const Efl_Class *struct_class_get(void) EINA_CONST;
 
 /**
  * @brief Foo docs. This is @c monospace. This is alone-standing $.
diff --git a/src/tests/eolian/data/typedef_ref.h 
b/src/tests/eolian/data/typedef_ref.h
index 440123e867..155bb09d9d 100644
--- a/src/tests/eolian/data/typedef_ref.h
+++ b/src/tests/eolian/data/typedef_ref.h
@@ -68,7 +68,7 @@ typedef enum
  */
 #define TYPEDEF_CLASS typedef_class_get()
 
-EWAPI const Efl_Class *typedef_class_get(void);
+EWAPI const Efl_Class *typedef_class_get(void) EINA_CONST;
 
 EOAPI char *typedef_foo(Eo *obj, int idx) EFL_TRANSFER_OWNERSHIP 
EINA_WARN_UNUSED_RESULT;
 

-- 


Reply via email to