summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/Makefile_Eo.am7
-rw-r--r--src/lib/eo/Eo.h11
-rw-r--r--src/lib/eo/eo.c4
-rw-r--r--src/lib/eo/eo_abstract_class.eo1
-rw-r--r--src/lib/eo/eo_class_class.c12
-rw-r--r--src/tests/eo/suite/eo_test_general.c2
6 files changed, 13 insertions, 24 deletions
diff --git a/src/Makefile_Eo.am b/src/Makefile_Eo.am
index cd5e6b6..ca0c444 100644
--- a/src/Makefile_Eo.am
+++ b/src/Makefile_Eo.am
@@ -1,11 +1,18 @@
1 1
2### Library 2### Library
3 3
4BUILT_SOURCES += \
5 lib/eo/eo_abstract_class.eo.c \
6 lib/eo/eo_abstract_class.eo.h
7
4lib_LTLIBRARIES += lib/eo/libeo.la 8lib_LTLIBRARIES += lib/eo/libeo.la
5 9
6installed_eomainheadersdir = $(includedir)/eo-@VMAJ@ 10installed_eomainheadersdir = $(includedir)/eo-@VMAJ@
7dist_installed_eomainheaders_DATA = lib/eo/Eo.h 11dist_installed_eomainheaders_DATA = lib/eo/Eo.h
8 12
13nodist_installed_eomainheaders_DATA = \
14 lib/eo/eo_abstract_class.eo.h
15
9lib_eo_libeo_la_SOURCES = \ 16lib_eo_libeo_la_SOURCES = \
10lib/eo/eo.c \ 17lib/eo/eo.c \
11lib/eo/eo_ptr_indirection.c \ 18lib/eo/eo_ptr_indirection.c \
diff --git a/src/lib/eo/Eo.h b/src/lib/eo/Eo.h
index 5d92687..23150a6 100644
--- a/src/lib/eo/Eo.h
+++ b/src/lib/eo/Eo.h
@@ -913,16 +913,7 @@ EAPI Eina_Bool eo_composite_is(const Eo *comp_obj);
913 * @{ 913 * @{
914 */ 914 */
915 915
916/** 916#include "eo_abstract_class.eo.h"
917 * @def EO_CLASS_CLASS
918 * The class type for the Eo Class class.
919 */
920#define EO_CLASS_CLASS eo_class_class_get()
921/**
922 * @brief Use #EO_CLASS_CLASS
923 * @internal
924 * */
925EAPI const Eo_Class *eo_class_class_get(void);
926 917
927/** 918/**
928 * @} 919 * @}
diff --git a/src/lib/eo/eo.c b/src/lib/eo/eo.c
index 9b8d6d7..8a14021 100644
--- a/src/lib/eo/eo.c
+++ b/src/lib/eo/eo.c
@@ -979,7 +979,7 @@ eo_class_get(const Eo *eo_id)
979 if (_eo_is_a_class(eo_id)) 979 if (_eo_is_a_class(eo_id))
980 { 980 {
981 EO_CLASS_POINTER_RETURN_VAL(eo_id, _klass, NULL); 981 EO_CLASS_POINTER_RETURN_VAL(eo_id, _klass, NULL);
982 return eo_class_class_get(); 982 return EO_ABSTRACT_CLASS_CLASS;
983 } 983 }
984 984
985 EO_OBJ_POINTER_RETURN_VAL(eo_id, obj, NULL); 985 EO_OBJ_POINTER_RETURN_VAL(eo_id, obj, NULL);
@@ -1802,7 +1802,7 @@ eo_init(void)
1802 EINA_LOG_STATE_INIT); 1802 EINA_LOG_STATE_INIT);
1803 1803
1804 /* bootstrap EO_CLASS_CLASS */ 1804 /* bootstrap EO_CLASS_CLASS */
1805 (void) eo_class_class_get(); 1805 (void) EO_ABSTRACT_CLASS_CLASS;
1806 1806
1807 if (_eo_call_stack_key != 0) 1807 if (_eo_call_stack_key != 0)
1808 WRN("_eo_call_stack_key already set, this should not happen."); 1808 WRN("_eo_call_stack_key already set, this should not happen.");
diff --git a/src/lib/eo/eo_abstract_class.eo b/src/lib/eo/eo_abstract_class.eo
index 82ab905..27a52e3 100644
--- a/src/lib/eo/eo_abstract_class.eo
+++ b/src/lib/eo/eo_abstract_class.eo
@@ -1,3 +1,4 @@
1abstract Eo_Abstract_Class () 1abstract Eo_Abstract_Class ()
2{ 2{
3 data: null;
3} 4}
diff --git a/src/lib/eo/eo_class_class.c b/src/lib/eo/eo_class_class.c
index 43c2ffe..d356755 100644
--- a/src/lib/eo/eo_class_class.c
+++ b/src/lib/eo/eo_class_class.c
@@ -4,15 +4,5 @@
4 4
5#include "Eo.h" 5#include "Eo.h"
6 6
7static const Eo_Class_Description class_desc = { 7#include "eo_abstract_class.eo.c"
8 EO_VERSION,
9 "Eo_Abstract_Class",
10 EO_CLASS_TYPE_REGULAR_NO_INSTANT,
11 EO_CLASS_DESCRIPTION_NOOPS(),
12 NULL,
13 0,
14 NULL,
15 NULL
16};
17 8
18EO_DEFINE_CLASS(eo_class_class_get, &class_desc, NULL, NULL)
diff --git a/src/tests/eo/suite/eo_test_general.c b/src/tests/eo/suite/eo_test_general.c
index c4e0725..78561e8 100644
--- a/src/tests/eo/suite/eo_test_general.c
+++ b/src/tests/eo/suite/eo_test_general.c
@@ -641,7 +641,7 @@ START_TEST(eo_magic_checks)
641 fail_if(eo_class_get((Eo *) buf)); 641 fail_if(eo_class_get((Eo *) buf));
642 fail_if(eo_class_name_get((Eo_Class*) buf)); 642 fail_if(eo_class_name_get((Eo_Class*) buf));
643 fail_if(eo_class_get(obj) != SIMPLE_CLASS); 643 fail_if(eo_class_get(obj) != SIMPLE_CLASS);
644 fail_if(eo_class_get(SIMPLE_CLASS) != EO_CLASS_CLASS); 644 fail_if(eo_class_get(SIMPLE_CLASS) != EO_ABSTRACT_CLASS_CLASS);
645 eo_do((Eo_Class *) buf,(void) NULL); 645 eo_do((Eo_Class *) buf,(void) NULL);
646 eo_do_super((Eo_Class *) buf, SIMPLE_CLASS, simple_a_set(++i)); 646 eo_do_super((Eo_Class *) buf, SIMPLE_CLASS, simple_a_set(++i));
647 eo_do_super(SIMPLE_CLASS, (Eo_Class *) buf, simple_a_set(++i)); 647 eo_do_super(SIMPLE_CLASS, (Eo_Class *) buf, simple_a_set(++i));