forked from enlightenment/efl
Eo: Fix and use the abstract class .eo file.
Until now it was just there, but never generated or used.
This commit is contained in:
parent
7a83c9c659
commit
10626ff538
|
@ -1,11 +1,18 @@
|
|||
|
||||
### Library
|
||||
|
||||
BUILT_SOURCES += \
|
||||
lib/eo/eo_abstract_class.eo.c \
|
||||
lib/eo/eo_abstract_class.eo.h
|
||||
|
||||
lib_LTLIBRARIES += lib/eo/libeo.la
|
||||
|
||||
installed_eomainheadersdir = $(includedir)/eo-@VMAJ@
|
||||
dist_installed_eomainheaders_DATA = lib/eo/Eo.h
|
||||
|
||||
nodist_installed_eomainheaders_DATA = \
|
||||
lib/eo/eo_abstract_class.eo.h
|
||||
|
||||
lib_eo_libeo_la_SOURCES = \
|
||||
lib/eo/eo.c \
|
||||
lib/eo/eo_ptr_indirection.c \
|
||||
|
|
|
@ -913,16 +913,7 @@ EAPI Eina_Bool eo_composite_is(const Eo *comp_obj);
|
|||
* @{
|
||||
*/
|
||||
|
||||
/**
|
||||
* @def EO_CLASS_CLASS
|
||||
* The class type for the Eo Class class.
|
||||
*/
|
||||
#define EO_CLASS_CLASS eo_class_class_get()
|
||||
/**
|
||||
* @brief Use #EO_CLASS_CLASS
|
||||
* @internal
|
||||
* */
|
||||
EAPI const Eo_Class *eo_class_class_get(void);
|
||||
#include "eo_abstract_class.eo.h"
|
||||
|
||||
/**
|
||||
* @}
|
||||
|
|
|
@ -979,7 +979,7 @@ eo_class_get(const Eo *eo_id)
|
|||
if (_eo_is_a_class(eo_id))
|
||||
{
|
||||
EO_CLASS_POINTER_RETURN_VAL(eo_id, _klass, NULL);
|
||||
return eo_class_class_get();
|
||||
return EO_ABSTRACT_CLASS_CLASS;
|
||||
}
|
||||
|
||||
EO_OBJ_POINTER_RETURN_VAL(eo_id, obj, NULL);
|
||||
|
@ -1802,7 +1802,7 @@ eo_init(void)
|
|||
EINA_LOG_STATE_INIT);
|
||||
|
||||
/* bootstrap EO_CLASS_CLASS */
|
||||
(void) eo_class_class_get();
|
||||
(void) EO_ABSTRACT_CLASS_CLASS;
|
||||
|
||||
if (_eo_call_stack_key != 0)
|
||||
WRN("_eo_call_stack_key already set, this should not happen.");
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
abstract Eo_Abstract_Class ()
|
||||
{
|
||||
data: null;
|
||||
}
|
||||
|
|
|
@ -4,15 +4,5 @@
|
|||
|
||||
#include "Eo.h"
|
||||
|
||||
static const Eo_Class_Description class_desc = {
|
||||
EO_VERSION,
|
||||
"Eo_Abstract_Class",
|
||||
EO_CLASS_TYPE_REGULAR_NO_INSTANT,
|
||||
EO_CLASS_DESCRIPTION_NOOPS(),
|
||||
NULL,
|
||||
0,
|
||||
NULL,
|
||||
NULL
|
||||
};
|
||||
#include "eo_abstract_class.eo.c"
|
||||
|
||||
EO_DEFINE_CLASS(eo_class_class_get, &class_desc, NULL, NULL)
|
||||
|
|
|
@ -641,7 +641,7 @@ START_TEST(eo_magic_checks)
|
|||
fail_if(eo_class_get((Eo *) buf));
|
||||
fail_if(eo_class_name_get((Eo_Class*) buf));
|
||||
fail_if(eo_class_get(obj) != SIMPLE_CLASS);
|
||||
fail_if(eo_class_get(SIMPLE_CLASS) != EO_CLASS_CLASS);
|
||||
fail_if(eo_class_get(SIMPLE_CLASS) != EO_ABSTRACT_CLASS_CLASS);
|
||||
eo_do((Eo_Class *) buf,(void) NULL);
|
||||
eo_do_super((Eo_Class *) buf, SIMPLE_CLASS, simple_a_set(++i));
|
||||
eo_do_super(SIMPLE_CLASS, (Eo_Class *) buf, simple_a_set(++i));
|
||||
|
|
Loading…
Reference in New Issue