eolian_cxx: make address_of test not use multiclass inheritance

This commit is contained in:
Daniel Kolesa 2019-01-17 16:07:11 +01:00
parent 212c99f957
commit 1172bce7cc
7 changed files with 7 additions and 46 deletions

View File

@ -85,7 +85,6 @@ tests/eolian_cxx/eolian_cxx_test_parse.cc \
tests/eolian_cxx/a.c \
tests/eolian_cxx/b.c \
tests/eolian_cxx/c.c \
tests/eolian_cxx/d.c \
tests/eolian_cxx/eolian_cxx_test_binding.cc \
tests/eolian_cxx/eolian_cxx_test_address_of.cc \
tests/eolian_cxx/eolian_cxx_test_wrapper.cc \
@ -111,7 +110,7 @@ endif
tests/eolian_cxx/$(TESTS_EOLIAN_CXX_OBJNAME)eolian_cxx_suite-name1_name2_type_generation.$(OBJEXT): tests/eolian_cxx/name1_name2_type_generation.eo.h tests/eolian_cxx/name1_name2_type_generation.eo.c
tests/eolian_cxx/$(TESTS_EOLIAN_CXX_OBJNAME)eolian_cxx_suite-eolian_cxx_test_inheritance.$(OBJEXT): tests/eolian_cxx/simple.eo.hh tests/eolian_cxx/simple.eo.h
tests/eolian_cxx/$(TESTS_EOLIAN_CXX_OBJNAME)eolian_cxx_suite-eolian_cxx_test_binding.$(OBJEXT): tests/eolian_cxx/generic.eo.hh tests/eolian_cxx/generic.eo.h tests/eolian_cxx/generic.eo.c tests/eolian_cxx/generic_interface.eo.hh tests/eolian_cxx/generic_interface.eo.h tests/eolian_cxx/generic_interface.eo.c tests/eolian_cxx/name1_name2_type_generation.eo.hh tests/eolian_cxx/name1_name2_type_generation.eo.h tests/eolian_cxx/name1_name2_type_generation.eo.c
tests/eolian_cxx/$(TESTS_EOLIAN_CXX_OBJNAME)eolian_cxx_suite-eolian_cxx_test_address_of.$(OBJEXT): tests/eolian_cxx/a.eo.hh tests/eolian_cxx/b.eo.hh tests/eolian_cxx/c.eo.hh tests/eolian_cxx/d.eo.hh tests/eolian_cxx/a.eo.h tests/eolian_cxx/b.eo.h tests/eolian_cxx/c.eo.h tests/eolian_cxx/d.eo.h
tests/eolian_cxx/$(TESTS_EOLIAN_CXX_OBJNAME)eolian_cxx_suite-eolian_cxx_test_address_of.$(OBJEXT): tests/eolian_cxx/a.eo.hh tests/eolian_cxx/b.eo.hh tests/eolian_cxx/c.eo.hh tests/eolian_cxx/a.eo.h tests/eolian_cxx/b.eo.h tests/eolian_cxx/c.eo.h
tests/eolian_cxx/$(TESTS_EOLIAN_CXX_OBJNAME)eolian_cxx_suite-eolian_cxx_test_cyclic.$(OBJEXT): tests/eolian_cxx/cyclic1.eo.hh tests/eolian_cxx/cyclic2.eo.hh tests/eolian_cxx/cyclic1.eo.c tests/eolian_cxx/cyclic2.eo.c tests/eolian_cxx/cyclic1.eo.h tests/eolian_cxx/cyclic2.eo.h
tests/eolian_cxx/$(TESTS_EOLIAN_CXX_OBJNAME)eolian_cxx_suite-eolian_cxx_test_wrapper.$(OBJEXT): tests/eolian_cxx/a.eo.h tests/eolian_cxx/a.eo.c tests/eolian_cxx/a.eo.hh
@ -121,7 +120,6 @@ tests/eolian_cxx/$(TESTS_EOLIAN_CXX_OBJNAME)eolian_cxx_suite-generic.$(OBJEXT):
tests/eolian_cxx/$(TESTS_EOLIAN_CXX_OBJNAME)eolian_cxx_suite-a.$(OBJEXT): tests/eolian_cxx/a.eo.c tests/eolian_cxx/a.eo.h
tests/eolian_cxx/$(TESTS_EOLIAN_CXX_OBJNAME)eolian_cxx_suite-b.$(OBJEXT): tests/eolian_cxx/b.eo.c tests/eolian_cxx/b.eo.h
tests/eolian_cxx/$(TESTS_EOLIAN_CXX_OBJNAME)eolian_cxx_suite-c.$(OBJEXT): tests/eolian_cxx/c.eo.c tests/eolian_cxx/c.eo.h
tests/eolian_cxx/$(TESTS_EOLIAN_CXX_OBJNAME)eolian_cxx_suite-d.$(OBJEXT): tests/eolian_cxx/d.eo.c tests/eolian_cxx/d.eo.h
tests/eolian_cxx/$(TESTS_EOLIAN_CXX_OBJNAME)eolian_cxx_suite-name_name.$(OBJEXT): tests/eolian_cxx/name_name.eo.c tests/eolian_cxx/name_name.eo.h tests/eolian_cxx/ns_name.eo.c tests/eolian_cxx/ns_name.eo.h tests/eolian_cxx/ns_name_other.eo.c tests/eolian_cxx/ns_name_other.eo.h
tests/eolian_cxx/$(TESTS_EOLIAN_CXX_OBJNAME)eolian_cxx_suite-name_name_cxx.$(OBJEXT): tests/eolian_cxx/name_name.eo.h tests/eolian_cxx/name_name.eo.hh tests/eolian_cxx/ns_name.eo.h tests/eolian_cxx/ns_name.eo.hh tests/eolian_cxx/ns_name_other.eo.h tests/eolian_cxx/ns_name_other.eo.hh
@ -145,7 +143,6 @@ tests/eolian_cxx/generic_interface.eo.impl.hh \
tests/eolian_cxx/a.eo.hh tests/eolian_cxx/a.eo.impl.hh tests/eolian_cxx/a.eo.c tests/eolian_cxx/a.eo.h \
tests/eolian_cxx/b.eo.hh tests/eolian_cxx/b.eo.impl.hh tests/eolian_cxx/b.eo.c tests/eolian_cxx/b.eo.h \
tests/eolian_cxx/c.eo.hh tests/eolian_cxx/c.eo.impl.hh tests/eolian_cxx/c.eo.c tests/eolian_cxx/c.eo.h \
tests/eolian_cxx/d.eo.hh tests/eolian_cxx/d.eo.impl.hh tests/eolian_cxx/d.eo.c tests/eolian_cxx/d.eo.h \
tests/eolian_cxx/name_name.eo.hh \
tests/eolian_cxx/name_name.eo.c \
tests/eolian_cxx/name_name.eo.h \
@ -207,7 +204,6 @@ tests/eolian_cxx/docs.eo \
tests/eolian_cxx/a.eo \
tests/eolian_cxx/b.eo \
tests/eolian_cxx/c.eo \
tests/eolian_cxx/d.eo \
tests/eolian_cxx/name_name.eo \
tests/eolian_cxx/ns_name.eo \
tests/eolian_cxx/ns_name_other.eo \

View File

@ -5,6 +5,7 @@
#include <Eo.h>
#include "a.eo.h"
#include "b.eo.h"
#include "c.eo.h"
struct _C_Data

View File

@ -1,4 +1,4 @@
class C extends A
class C extends B
{
data: C_Data;
implements {

View File

@ -1,25 +0,0 @@
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#include <Eo.h>
#include "a.eo.h"
#include "b.eo.h"
#include "c.eo.h"
#include "d.eo.h"
struct _D_Data
{
int callbacks;
};
typedef struct _D_Data D_Data;
#define MY_CLASS D_CLASS
static Eo *_d_efl_object_constructor(Eo *obj EINA_UNUSED, D_Data *pd EINA_UNUSED)
{
return efl_constructor(efl_super(obj, MY_CLASS));
}
#include "d.eo.c"

View File

@ -1,7 +0,0 @@
class D extends B implements C
{
data: D_Data;
implements {
Efl.Object.constructor;
}
}

View File

@ -15,16 +15,14 @@ EFL_START_TEST(eolian_cxx_test_addess_of_conversions)
{
efl::eo::eo_init init;
nonamespace::D d_obj;
nonamespace::C c_obj;
nonamespace::A* a_ptr = &d_obj;
nonamespace::B* b_ptr = &d_obj;
nonamespace::C* c_ptr = &d_obj;
nonamespace::D* d_ptr = &d_obj;
nonamespace::A* a_ptr = &c_obj;
nonamespace::B* b_ptr = &c_obj;
nonamespace::C* c_ptr = &c_obj;
fail_unless(a_ptr == (void*) b_ptr);
fail_unless(a_ptr == (void*) c_ptr);
fail_unless(a_ptr == (void*) d_ptr);
}
EFL_END_TEST

View File

@ -6,7 +6,6 @@ eolian_cxx_suite_src = files([
'a.c',
'b.c',
'c.c',
'd.c',
'eolian_cxx_test_binding.cc',
'eolian_cxx_test_address_of.cc',
'eolian_cxx_test_wrapper.cc',
@ -28,7 +27,6 @@ pub_eo_files = [
'a.eo',
'b.eo',
'c.eo',
'd.eo',
'complex.eo',
'cyclic1.eo',
'cyclic2.eo',