diff options
Diffstat (limited to 'src/tests/eolian_cxx')
32 files changed, 187 insertions, 70 deletions
diff --git a/src/tests/eolian_cxx/a.c b/src/tests/eolian_cxx/a.c index 4fa7af7849..8039d58b5d 100644 --- a/src/tests/eolian_cxx/a.c +++ b/src/tests/eolian_cxx/a.c @@ -4,6 +4,9 @@ #include <Eo.h> +#define EOLIANCXXTEST_API +#define EOLIANCXXTEST_API_WEAK + #include "a.eo.h" struct _A_Data diff --git a/src/tests/eolian_cxx/a.eo b/src/tests/eolian_cxx/a.eo index cc94262821..1319f4a14d 100644 --- a/src/tests/eolian_cxx/a.eo +++ b/src/tests/eolian_cxx/a.eo @@ -1,5 +1,5 @@ -class A extends Efl.Object -{ +class A extends Efl.Object { + [[Docs for class A. @since 1.66]] data: A_Data; implements { Efl.Object.constructor; diff --git a/src/tests/eolian_cxx/b.c b/src/tests/eolian_cxx/b.c index 2ff548f70d..61cf67a3da 100644 --- a/src/tests/eolian_cxx/b.c +++ b/src/tests/eolian_cxx/b.c @@ -4,6 +4,9 @@ #include <Eo.h> +#define EOLIANCXXTEST_API +#define EOLIANCXXTEST_API_WEAK + #include "a.eo.h" #include "b.eo.h" diff --git a/src/tests/eolian_cxx/b.eo b/src/tests/eolian_cxx/b.eo index c293edc9c0..ebec257987 100644 --- a/src/tests/eolian_cxx/b.eo +++ b/src/tests/eolian_cxx/b.eo @@ -1,5 +1,5 @@ -class B extends A -{ +class B extends A { + [[Docs for class B. @since 1.66]] data: B_Data; implements { Efl.Object.constructor; diff --git a/src/tests/eolian_cxx/c.c b/src/tests/eolian_cxx/c.c index 45c3e0af66..ba7b45bc88 100644 --- a/src/tests/eolian_cxx/c.c +++ b/src/tests/eolian_cxx/c.c @@ -4,6 +4,9 @@ #include <Eo.h> +#define EOLIANCXXTEST_API +#define EOLIANCXXTEST_API_WEAK + #include "a.eo.h" #include "b.eo.h" #include "c.eo.h" diff --git a/src/tests/eolian_cxx/c.eo b/src/tests/eolian_cxx/c.eo index fe7921c67a..b66aea15c8 100644 --- a/src/tests/eolian_cxx/c.eo +++ b/src/tests/eolian_cxx/c.eo @@ -1,5 +1,5 @@ -class C extends B -{ +class C extends B { + [[Docs for class C. @since 1.66]] data: C_Data; implements { Efl.Object.constructor; diff --git a/src/tests/eolian_cxx/callback.eo b/src/tests/eolian_cxx/callback.eo index 6dd2c721b7..24f2e45f90 100644 --- a/src/tests/eolian_cxx/callback.eo +++ b/src/tests/eolian_cxx/callback.eo @@ -1,11 +1,11 @@ -struct Callback_Event -{ +struct Callback_Event { + [[Docs for struct Callback_Event. @since 1.66]] field1: int; field2: list<string>; } -class Callback extends Efl.Object -{ +class Callback extends Efl.Object { + [[Docs for class Callback. @since 1.66]] data: Callback_Data; events { prefix,event1: void; diff --git a/src/tests/eolian_cxx/complex.c b/src/tests/eolian_cxx/complex.c index 76db444a74..e30c8cb343 100644 --- a/src/tests/eolian_cxx/complex.c +++ b/src/tests/eolian_cxx/complex.c @@ -9,6 +9,9 @@ struct Complex_Data {}; typedef struct Complex_Data Complex_Data; +#define EOLIANCXXTEST_API +#define EOLIANCXXTEST_API_WEAK + #include "complex.eo.h" EOLIAN static void diff --git a/src/tests/eolian_cxx/complex.eo b/src/tests/eolian_cxx/complex.eo index a87391d83b..d48003ea46 100644 --- a/src/tests/eolian_cxx/complex.eo +++ b/src/tests/eolian_cxx/complex.eo @@ -1,59 +1,60 @@ -class Complex extends Efl.Object -{ +class Complex extends Efl.Object { data: Complex_Data; methods { // container test - inptrcont { + inptrcont @beta { params { l: list<string>; } } - inclasscont { + inclasscont @beta { params { l: list<Efl.Object>; } } - incontcont { + incontcont @beta { params { l: list<list<string>>; } } - incontcontown { + incontcontown @beta { params { l: list<list<string>> @move; } } - incontowncontown { + incontowncontown @beta { params { l: list<list<string> @move> @move; } } - incontowncont { + incontowncont @beta { params { l: list<list<string> @move>; } } - instringcont { + instringcont @beta { params { l: list<string>; } } - instringowncont { + instringowncont @beta { params { l: list<mstring @move>; } } - instringcontown { + instringcontown @beta { params { l: list<string> @move; } } inarray { + [[Docs for method inarray. @since 1.66]] params { l: array<string>; } } inarrayown { + [[Docs for method inarrayown. @since 1.66]] params { l: array<string> @move; } @@ -69,72 +70,78 @@ class Complex extends Efl.Object } } initerator { + [[Docs for method initerator. @since 1.66]] params { l: iterator<int>; } } initeratorown { + [[Docs for method initeratorown. @since 1.66]] params { l: iterator<int> @move; } } inaccessor { + [[Docs for method inacessor. @since 1.66]] params { l: accessor<int>; } } inaccessorown { + [[Docs for method inaccessorown. @since 1.66]] params { l: accessor<int> @move; } } // out - outclasscont { + outclasscont @beta { params { @out l: list<Efl.Object>; } } - outcontcont { + outcontcont @beta { params { @out l: list<list<string>>; } } - outcontcontown { + outcontcontown @beta { params { @out l: list<list<string>> @move; } } - outcontowncontown { + outcontowncontown @beta { params { @out l: list<list<string> @move> @move; } } - outcontowncont { + outcontowncont @beta { params { @out l: list<list<string> @move>; } } - outstringcont { + outstringcont @beta { params { @out l: list<string>; } } - outstringowncont { + outstringowncont @beta { params { @out l: list<mstring @move>; } } - outstringcontown { + outstringcontown @beta { params { @out l: list<string> @move; } } outarray { + [[Docs for method outarray. @since 1.66]] params { @out l: array<string>; } } outarrayown { + [[Docs for method outarryown. @since 1.66]] params { @out l: array<string> @move; } @@ -150,47 +157,56 @@ class Complex extends Efl.Object } } outiterator { + [[Docs for method outiterator. @since 1.66]] params { @out l: iterator<int>; } } outiteratorown { + [[Docs for method outiteratorown. @since 1.66]] params { @out l: iterator<int> @move; } } outaccessor { + [[Docs for method outaccessor. @since 1.66]] params { @out l: accessor<int>; } } outaccessorown { + [[Docs for method outaccessorown. @since 1.66]] params { @out l: accessor<int> @move; } } - foo { + foo @beta { params { l: list<string>; } } bar { + [[Docs for method bar. @since 1.66]] return: array<string>; } wrapper_r { + [[Docs for method wrapper_r. @since 1.66]] return: Complex; } wrapper_in { + [[Docs for method wrapper_in. @since 1.66]] params { @in a1: Complex; } } wrapper_inout { + [[Docs for method wrapper_inout. @since 1.66]] params { @inout a1: Complex; } } wrapper_out { + [[Docs for method wrapper_out. @since 1.66]] params { @out a1: Complex; } diff --git a/src/tests/eolian_cxx/complex_cxx.cc b/src/tests/eolian_cxx/complex_cxx.cc index 8d73fb87d5..7df39152f5 100644 --- a/src/tests/eolian_cxx/complex_cxx.cc +++ b/src/tests/eolian_cxx/complex_cxx.cc @@ -21,6 +21,9 @@ #include <Eina.h> #include <Eo.h> +#define EOLIANCXXTEST_API +#define EOLIANCXXTEST_API_WEAK + #include "complex.eo.h" #include "complex.eo.hh" diff --git a/src/tests/eolian_cxx/cyclic1.eo b/src/tests/eolian_cxx/cyclic1.eo index 519a08e760..0a19603ad9 100644 --- a/src/tests/eolian_cxx/cyclic1.eo +++ b/src/tests/eolian_cxx/cyclic1.eo @@ -1,5 +1,5 @@ -class Cyclic1 -{ +class Cyclic1 { + [[Docs for class Cyclic1. @since 1.66]] methods { foo { return: Cyclic2; diff --git a/src/tests/eolian_cxx/cyclic2.eo b/src/tests/eolian_cxx/cyclic2.eo index 1fbed3f1f4..5d0c19585e 100644 --- a/src/tests/eolian_cxx/cyclic2.eo +++ b/src/tests/eolian_cxx/cyclic2.eo @@ -1,5 +1,5 @@ -class Cyclic2 -{ +class Cyclic2 { + [[Docs for class Cyclic2. @since 1.66]] methods { foo { return: Cyclic1; diff --git a/src/tests/eolian_cxx/docs.eo b/src/tests/eolian_cxx/docs.eo index 55c7dc28e6..d18dcce344 100644 --- a/src/tests/eolian_cxx/docs.eo +++ b/src/tests/eolian_cxx/docs.eo @@ -19,7 +19,10 @@ struct Foo { } enum Bar { - [[Docs for enum Bar.]] + [[Docs for enum Bar. + + @since 1.66 + ]] blah = 0, foo = 1, [[Docs for foo.]] bar = 2 [[Docs for bar.]] @@ -28,12 +31,12 @@ enum Bar { type Alias: Bar; [[Docs for typedef. More docs for typedef. - See @Bar. @since 2.0 + See @Bar. @since 1.66 ]] -const pants: int = 150; [[Docs for var.]] +const pants: int = 150; [[Docs for var. @since 1.66]] -struct Opaque; [[Opaque struct docs. See @Foo for another struct.]] +struct Opaque; [[Opaque struct docs. See @Foo for another struct. @since 1.66]] class Docs { [[Docs for class. @@ -51,7 +54,7 @@ class Docs { @Bar.foo @Docs - @since 1.17 + @since 1.66 ]] methods { meth { @@ -66,7 +69,7 @@ class Docs { @property prop { [[Property common documentation. - @since 1.18 + @since 1.66 ]] get { [[Get documentation.]] diff --git a/src/tests/eolian_cxx/eolian_cxx_test_address_of.cc b/src/tests/eolian_cxx/eolian_cxx_test_address_of.cc index 9b108a1b4b..6665f1af3f 100644 --- a/src/tests/eolian_cxx/eolian_cxx_test_address_of.cc +++ b/src/tests/eolian_cxx/eolian_cxx_test_address_of.cc @@ -19,6 +19,9 @@ #include <Eo.hh> +#define EOLIANCXXTEST_API +#define EOLIANCXXTEST_API_WEAK + #include <a.eo.hh> #include <b.eo.hh> #include <c.eo.hh> diff --git a/src/tests/eolian_cxx/eolian_cxx_test_binding.cc b/src/tests/eolian_cxx/eolian_cxx_test_binding.cc index c6e0381551..47a4e9c49c 100644 --- a/src/tests/eolian_cxx/eolian_cxx_test_binding.cc +++ b/src/tests/eolian_cxx/eolian_cxx_test_binding.cc @@ -21,6 +21,10 @@ #include <map> +#define GENERIC_BETA +#define EOLIANCXXTEST_API +#define EOLIANCXXTEST_API_WEAK + #include <generic.eo.hh> #include <generic.eo.impl.hh> #include <name1_name2_type_generation.eo.hh> @@ -160,8 +164,8 @@ EFL_START_TEST(eolian_cxx_test_type_callback) efl::eo::eo_init i; bool event1 = false, event2 = false, event3 = false, event4 = false - , event5 = false; - + , event5 = false, event6 = false; + nonamespace::Generic g(efl::eo::instantiate); efl::eolian::event_add(g.prefix_event1_event, g, [&] (nonamespace::Generic) { @@ -183,22 +187,28 @@ EFL_START_TEST(eolian_cxx_test_type_callback) // FIXME eina::range_array is incompatible with eina::string_view //ck_assert(*e.begin() == efl::eina::string_view{"42"}); }); - efl::eolian::event_add(g.prefix_event5_event, g, [&] (nonamespace::Generic, Generic_Event) + efl::eolian::event_add(g.prefix_event5_event, g, [&] (nonamespace::Generic, Generic_Beta_Event) { event5 = true; }); + efl::eolian::event_add(g.prefix_event6_event, g, [&] (nonamespace::Generic, Generic_Event) + { + event6 = true; + }); g.call_event1(); g.call_event2(); g.call_event3(); g.call_event4(); g.call_event5(); + g.call_event6(); ck_assert(event1); ck_assert(event2); ck_assert(event3); ck_assert(event4); ck_assert(event5); + ck_assert(event6); } EFL_END_TEST diff --git a/src/tests/eolian_cxx/eolian_cxx_test_cyclic.cc b/src/tests/eolian_cxx/eolian_cxx_test_cyclic.cc index 28c5ebd485..158728d4f3 100644 --- a/src/tests/eolian_cxx/eolian_cxx_test_cyclic.cc +++ b/src/tests/eolian_cxx/eolian_cxx_test_cyclic.cc @@ -24,6 +24,9 @@ typedef Eo Cyclic1; typedef Eo Cyclic2; } +#define EOLIANCXXTEST_API +#define EOLIANCXXTEST_API_WEAK + #include <cyclic1.eo.h> #include <cyclic2.eo.h> #include <cyclic1.eo.hh> diff --git a/src/tests/eolian_cxx/eolian_cxx_test_documentation.cc b/src/tests/eolian_cxx/eolian_cxx_test_documentation.cc index eb683e3312..a0372b3606 100644 --- a/src/tests/eolian_cxx/eolian_cxx_test_documentation.cc +++ b/src/tests/eolian_cxx/eolian_cxx_test_documentation.cc @@ -70,7 +70,7 @@ EFL_START_TEST(eolian_cxx_test_class_docs) "@Foo.field1 " "@Bar.foo " "@Docs"); - ck_assert_str_eq(doc.since.c_str(), "1.17"); + ck_assert_str_eq(doc.since.c_str(), "1.66"); } EFL_END_TEST @@ -89,12 +89,12 @@ EFL_START_TEST(eolian_cxx_test_function_docs) documentation_def doc = func.documentation; ck_assert_str_eq(doc.summary.c_str(), "Method documentation."); ck_assert_str_eq(doc.description.c_str(), ""); - ck_assert_str_eq(doc.since.c_str(), "1.17"); // Since is inherited from parent if not present, except when no doc is present ofr this member. + ck_assert_str_eq(doc.since.c_str(), "1.66"); // Since is inherited from parent if not present, except when no doc is present ofr this member. doc = func.return_documentation; ck_assert_str_eq(doc.summary.c_str(), "Return documentation."); ck_assert_str_eq(doc.description.c_str(), ""); - ck_assert_str_eq(doc.since.c_str(), "1.17"); + ck_assert_str_eq(doc.since.c_str(), "1.66"); auto param_iter = func.parameters.begin(); @@ -102,7 +102,7 @@ EFL_START_TEST(eolian_cxx_test_function_docs) doc = param_iter->documentation; ck_assert_str_eq(doc.summary.c_str(), "Param documentation."); ck_assert_str_eq(doc.description.c_str(), ""); - ck_assert_str_eq(doc.since.c_str(), "1.17"); + ck_assert_str_eq(doc.since.c_str(), "1.66"); param_iter++; @@ -118,7 +118,7 @@ EFL_START_TEST(eolian_cxx_test_function_docs) doc = param_iter->documentation; ck_assert_str_eq(doc.summary.c_str(), "Another param documentation."); ck_assert_str_eq(doc.description.c_str(), ""); - ck_assert_str_eq(doc.since.c_str(), "1.17"); + ck_assert_str_eq(doc.since.c_str(), "1.66"); } EFL_END_TEST @@ -140,12 +140,12 @@ EFL_START_TEST(eolian_cxx_test_property_docs) documentation_def doc = func.property_documentation; ck_assert_str_eq(doc.summary.c_str(), "Property common documentation."); ck_assert_str_eq(doc.description.c_str(), ""); - ck_assert_str_eq(doc.since.c_str(), "1.18"); + ck_assert_str_eq(doc.since.c_str(), "1.66"); doc = func.documentation; // Actual getdocumentation. ck_assert_str_eq(doc.summary.c_str(), "Get documentation."); ck_assert_str_eq(doc.description.c_str(), ""); - ck_assert_str_eq(doc.since.c_str(), "1.17"); // Members inherit from parent *class* + ck_assert_str_eq(doc.since.c_str(), "1.66"); // Members inherit from parent *class* func_iter = std::find_if(klass.functions.begin(), klass.functions.end(), [](const function_def& f) { @@ -158,13 +158,13 @@ EFL_START_TEST(eolian_cxx_test_property_docs) doc = func.documentation; // Actual getdocumentation. ck_assert_str_eq(doc.summary.c_str(), "Set documentation."); ck_assert_str_eq(doc.description.c_str(), ""); - ck_assert_str_eq(doc.since.c_str(), "1.17"); // Members inherit from parent *class* + ck_assert_str_eq(doc.since.c_str(), "1.66"); // Members inherit from parent *class* auto property_iter = klass.properties.begin(); auto property = *property_iter; doc = property.documentation; ck_assert_str_eq(doc.summary.c_str(), "Property common documentation."); - ck_assert_str_eq(doc.since.c_str(), "1.18"); + ck_assert_str_eq(doc.since.c_str(), "1.66"); } EFL_END_TEST @@ -180,7 +180,7 @@ EFL_START_TEST(eolian_cxx_test_event_docs) documentation_def doc = event.documentation; ck_assert_str_eq(doc.summary.c_str(), "Event docs."); ck_assert_str_eq(doc.description.c_str(), ""); - ck_assert_str_eq(doc.since.c_str(), "1.17"); // Members inherit from parent *class* + ck_assert_str_eq(doc.since.c_str(), "1.66"); // Members inherit from parent *class* } EFL_END_TEST @@ -198,7 +198,7 @@ EFL_START_TEST(eolian_cxx_test_enum_docs) documentation_def doc = _enum.documentation; ck_assert_str_eq(doc.summary.c_str(), "Docs for enum Bar."); ck_assert_str_eq(doc.description.c_str(), ""); - ck_assert_str_eq(doc.since.c_str(), ""); + ck_assert_str_eq(doc.since.c_str(), "1.66"); // fields auto field_iter = _enum.fields.begin(); @@ -215,7 +215,7 @@ EFL_START_TEST(eolian_cxx_test_enum_docs) doc = field_iter->documentation; ck_assert_str_eq(doc.summary.c_str(), "Docs for foo."); ck_assert_str_eq(doc.description.c_str(), ""); - ck_assert_str_eq(doc.since.c_str(), ""); + ck_assert_str_eq(doc.since.c_str(), "1.66"); field_iter++; @@ -223,7 +223,7 @@ EFL_START_TEST(eolian_cxx_test_enum_docs) doc = field_iter->documentation; ck_assert_str_eq(doc.summary.c_str(), "Docs for bar."); ck_assert_str_eq(doc.description.c_str(), ""); - ck_assert_str_eq(doc.since.c_str(), ""); + ck_assert_str_eq(doc.since.c_str(), "1.66"); } EFL_END_TEST diff --git a/src/tests/eolian_cxx/eolian_cxx_test_inheritance.cc b/src/tests/eolian_cxx/eolian_cxx_test_inheritance.cc index 2a7fb04733..19a53925dd 100644 --- a/src/tests/eolian_cxx/eolian_cxx_test_inheritance.cc +++ b/src/tests/eolian_cxx/eolian_cxx_test_inheritance.cc @@ -20,6 +20,9 @@ #include <Eo.h> #include <Ecore.h> +#define EOLIANCXXTEST_API +#define EOLIANCXXTEST_API_WEAK + #include <simple.eo.hh> #include "eolian_cxx_suite.h" @@ -33,7 +36,7 @@ // bool simple_get() // { -// printf("calling bar::%s\n", __FUNCTION__); +// printf("calling bar::%s\n", __func__); // return false; // } // }; diff --git a/src/tests/eolian_cxx/eolian_cxx_test_wrapper.cc b/src/tests/eolian_cxx/eolian_cxx_test_wrapper.cc index 16fc984db4..e1d585cfab 100644 --- a/src/tests/eolian_cxx/eolian_cxx_test_wrapper.cc +++ b/src/tests/eolian_cxx/eolian_cxx_test_wrapper.cc @@ -20,6 +20,9 @@ #include <Eo.h> #include <Ecore.h> +#define EOLIANCXXTEST_API +#define EOLIANCXXTEST_API_WEAK + #include <a.eo.hh> #include "eolian_cxx_suite.h" diff --git a/src/tests/eolian_cxx/generic.c b/src/tests/eolian_cxx/generic.c index 0bbf894457..dd337f0516 100644 --- a/src/tests/eolian_cxx/generic.c +++ b/src/tests/eolian_cxx/generic.c @@ -8,6 +8,9 @@ #define GENERIC_BETA #define GENERIC_PROTECTED +#define EOLIANCXXTEST_API +#define EOLIANCXXTEST_API_WEAK + #include "generic.eo.h" #include "generic_interface.eo.h" @@ -125,10 +128,21 @@ static void _generic_call_event5(Eo *obj, Generic_Data* pd EINA_UNUSED) const char *s = "42"; Eina_List* p = eina_list_append(NULL, s); - Generic_Event e = {.field1 = 42, .field2 = p}; + Generic_Beta_Event e = {.field1 = 42, .field2 = p}; efl_event_callback_call(obj, GENERIC_EVENT_PREFIX_EVENT5, &e); eina_list_free(p); } +static void _generic_call_event6(Eo *obj, Generic_Data* pd EINA_UNUSED) +{ + const char *s = "42"; + Eina_Array* p = eina_array_new(1); + + eina_array_push(p, s); + + Generic_Event e = {.field1 = 42, .field2 = p}; + efl_event_callback_call(obj, GENERIC_EVENT_PREFIX_EVENT6, &e); + eina_array_free(p); +} static void _generic_protected_method1(Eo *obj EINA_UNUSED, Generic_Data* pd EINA_UNUSED) { } diff --git a/src/tests/eolian_cxx/generic.eo b/src/tests/eolian_cxx/generic.eo index cf7aa3b31e..0d8f9b263e 100644 --- a/src/tests/eolian_cxx/generic.eo +++ b/src/tests/eolian_cxx/generic.eo @@ -1,15 +1,21 @@ -struct Generic.Event +struct @beta Generic.Beta_Event { field1: int; field2: list<string>; } -class Generic extends Efl.Object implements Generic_Interface -{ +struct Generic.Event { + [[Docs for struct Generic.Event. @since 1.66]] + field1: int; + field2: array<string>; +} + +class Generic extends Efl.Object implements Generic_Interface { data: Generic_Data; methods { @property req_ctor_a_value { + [[Docs for property req_actor_a_value. @since 1.66]] get { } values { @@ -17,6 +23,7 @@ class Generic extends Efl.Object implements Generic_Interface } } @property opt_ctor_a_value { + [[Docs for property property opt_ctor_a_value. @since 1.66]] get { } values { @@ -24,92 +31,115 @@ class Generic extends Efl.Object implements Generic_Interface } } required_ctor_a { + [[Docs for method required_ctor_a. @since 1.66]] params { @in value: int; } } required_ctor_b { + [[Docs for method required_ctor_b. @since 1.66]] params { @in value: int; } } optional_ctor_a { + [[Docs for method optional_ctor_a. @since 1.66]] params { @in value: int; } } optional_ctor_b { + [[Docs for method optional_ctor_b. @since 1.66]] params { @in value: int; } } @property req_ctor_b_value { + [[Docs for property rec_ctor_b_value. @since 1.66]] get {} values { value: int; } } @property opt_ctor_b_value { + [[Docs for property opt_ctor_b_value. @since 1.66]] get {} values { value: int; } } out_required_ctor_a { + [[Docs for method out_required_ctor_a. @since 1.66]] params { @out value: int; } } out_required_ctor_b { + [[Docs for method out_required_ctor_b. @since 1.66]] params { @out value: int; } } out_optional_ctor_a { + [[Docs for method out_optional_ctor_a. @since 1.66]] params { @out value: int; } } out_optional_ctor_b { + [[Docs for method out_optional_ctor_b. @since 1.66]] params { @out value: int; } } call_event1 { + [[Docs for method call_event1. @since 1.66]] } call_event2 { + [[Docs for method call_event2. @since 1.66]] } call_event3 { + [[Docs for method call_event3. @since 1.66]] } call_event4 { + [[Docs for method call_event4. @since 1.66]] } call_event5 { + [[Docs for method call_event5. @since 1.66]] + } + call_event6 { + [[Docs for method call_event6. @since 1.66]] } protected_method1 @protected { + [[Docs for protected method protected_method1. @since 1.66]] } beta_method1 @beta { } protected_beta_method1 @protected @beta { } event_param { + [[Docs for method event_param. @since 1.66]] params { value: event; } } const_event_param { + [[Docs for method const_event_param. @since 1.66]] params { value: const(event); } } binbuf_param { + [[Docs for method binbuf_param. @since 1.66]] params { value: binbuf; } } const_binbuf_param { + [[Docs for method const_binbuf_param. @since 1.66]] params { value: const(binbuf); } @@ -129,7 +159,8 @@ class Generic extends Efl.Object implements Generic_Interface prefix,event2: Generic; prefix,event3: int; prefix,event4: const(array<string>); - prefix,event5: Generic.Event; + prefix,event5 @beta: Generic.Beta_Event; + prefix,event6: Generic.Event; protected,event1 @protected: void; beta,event1 @beta: void; protected,beta,event1 @beta @protected: void; diff --git a/src/tests/eolian_cxx/generic_interface.eo b/src/tests/eolian_cxx/generic_interface.eo index 9f11c1a73c..659faa4531 100644 --- a/src/tests/eolian_cxx/generic_interface.eo +++ b/src/tests/eolian_cxx/generic_interface.eo @@ -1,3 +1,3 @@ -interface Generic_Interface -{ +interface Generic_Interface { + [[Docs for interface Generic_Interface. @since 1.66]] } diff --git a/src/tests/eolian_cxx/meson.build b/src/tests/eolian_cxx/meson.build index 23b2727eaf..9e0fbb366e 100644 --- a/src/tests/eolian_cxx/meson.build +++ b/src/tests/eolian_cxx/meson.build @@ -55,6 +55,7 @@ foreach eo_file : pub_eo_files command : eolian_gen + [ '-I', meson.current_source_dir(), eolian_include_directories, '-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'), '-o', 'c:' + join_paths(meson.current_build_dir(), eo_file + '.c'), + '-e', 'EOLIANCXXTEST_API', '-gch', '@INPUT@']) endforeach diff --git a/src/tests/eolian_cxx/name1_name2_type_generation.c b/src/tests/eolian_cxx/name1_name2_type_generation.c index 9b03b36237..2d06a5f55e 100644 --- a/src/tests/eolian_cxx/name1_name2_type_generation.c +++ b/src/tests/eolian_cxx/name1_name2_type_generation.c @@ -14,6 +14,9 @@ typedef struct _Type_Generation_Data Type_Generation_Data; #define MY_CLASS TYPE1_TYPE2_TYPE_GENERATION_CLASS +#define EOLIANCXXTEST_API +#define EOLIANCXXTEST_API_WEAK + #include "name1_name2_type_generation.eo.h" void _name1_name2_type_generation_invoidptr(Eo *obj EINA_UNUSED, Type_Generation_Data *pd EINA_UNUSED, void *v) diff --git a/src/tests/eolian_cxx/name_name.c b/src/tests/eolian_cxx/name_name.c index 89f9a73844..0515225e22 100644 --- a/src/tests/eolian_cxx/name_name.c +++ b/src/tests/eolian_cxx/name_name.c @@ -11,6 +11,9 @@ typedef struct Ns_Name_Data Ns_Name_Data; struct Ns_Name_Other_Data {}; typedef struct Ns_Name_Other_Data Ns_Name_Other_Data; +#define EOLIANCXXTEST_API +#define EOLIANCXXTEST_API_WEAK + #include "name_name.eo.h" #include "name_name.eo.c" #include "ns_name.eo.h" diff --git a/src/tests/eolian_cxx/name_name.eo b/src/tests/eolian_cxx/name_name.eo index 64b0db1ab4..3fe2224ce3 100644 --- a/src/tests/eolian_cxx/name_name.eo +++ b/src/tests/eolian_cxx/name_name.eo @@ -1,3 +1,4 @@ class Name.Name { + [[Docs for class Name.Name. @since 1.66]] } diff --git a/src/tests/eolian_cxx/name_name_cxx.cc b/src/tests/eolian_cxx/name_name_cxx.cc index 00e1d13666..f0d9740b7d 100644 --- a/src/tests/eolian_cxx/name_name_cxx.cc +++ b/src/tests/eolian_cxx/name_name_cxx.cc @@ -20,6 +20,9 @@ #include <Eo.h> +#define EOLIANCXXTEST_API +#define EOLIANCXXTEST_API_WEAK + #include "name_name.eo.h" #include "name_name.eo.hh" #include "ns_name.eo.h" diff --git a/src/tests/eolian_cxx/ns_name.eo b/src/tests/eolian_cxx/ns_name.eo index 9610d82f23..7bc76bcace 100644 --- a/src/tests/eolian_cxx/ns_name.eo +++ b/src/tests/eolian_cxx/ns_name.eo @@ -1,3 +1,4 @@ class Ns.Name { + [[Docs for NS.Name. @since 1.66]] } diff --git a/src/tests/eolian_cxx/ns_name_other.eo b/src/tests/eolian_cxx/ns_name_other.eo index a8983c45c6..c20bf4d2e3 100644 --- a/src/tests/eolian_cxx/ns_name_other.eo +++ b/src/tests/eolian_cxx/ns_name_other.eo @@ -1,3 +1,4 @@ class Ns.Name.Other { + [[Docs for Ns.Name.Other. @since 1.66]] } diff --git a/src/tests/eolian_cxx/property_holder.eo b/src/tests/eolian_cxx/property_holder.eo index 8509ffe648..91a9788d73 100644 --- a/src/tests/eolian_cxx/property_holder.eo +++ b/src/tests/eolian_cxx/property_holder.eo @@ -1,5 +1,5 @@ -class Property_Holder extends Efl.Object -{ +class Property_Holder extends Efl.Object { + [[Docs for class Property_Holder. @since 1.66]] methods { some_method { return: int; diff --git a/src/tests/eolian_cxx/simple.c b/src/tests/eolian_cxx/simple.c index 718e5c3549..7b7d630eca 100644 --- a/src/tests/eolian_cxx/simple.c +++ b/src/tests/eolian_cxx/simple.c @@ -7,6 +7,9 @@ #include <Eo.h> #include <Ecore.h> +#define EOLIANCXXTEST_API +#define EOLIANCXXTEST_API_WEAK + #include "simple.eo.h" #define MY_CLASS SIMPLE_CLASS @@ -18,7 +21,7 @@ static Eo *_simple_efl_object_constructor(Eo *obj, void *pd EINA_UNUSED) static Eina_Bool _simple_simple_get(Eo *obj EINA_UNUSED, void *pd EINA_UNUSED) { - printf("calling %s\n", __FUNCTION__); + printf("calling %s\n", __func__); return EINA_TRUE; } @@ -27,7 +30,7 @@ static Eina_Bool _simple_name_get(Eo *obj EINA_UNUSED, void *pd EINA_UNUSED, con { static const char* _name= "simple_class"; - printf("calling %s= simples class\n", __FUNCTION__); + printf("calling %s= simples class\n", __func__); *name = _name; return EINA_TRUE; diff --git a/src/tests/eolian_cxx/simple.eo b/src/tests/eolian_cxx/simple.eo index f6f340f131..08725366c8 100644 --- a/src/tests/eolian_cxx/simple.eo +++ b/src/tests/eolian_cxx/simple.eo @@ -1,5 +1,5 @@ -class Simple extends Efl.Object -{ +class Simple extends Efl.Object { + [[Docs for class Simple. @since 1.66]] data: null; methods { simple_get { |