summaryrefslogtreecommitdiff
path: root/src/lib/eolian_cxx/grammar/type_function_declaration.hpp
diff options
context:
space:
mode:
authorJean-Philippe Andre <jp.andre@samsung.com>2017-12-05 10:47:09 +0900
committerJean-Philippe Andre <jp.andre@samsung.com>2017-12-05 15:01:45 +0900
commit8cdb3184f8a1f3e5396d953b238ce2e217f0cb1c (patch)
treebbd99d8e8616588f69360281d8291fb34fffb7e6 /src/lib/eolian_cxx/grammar/type_function_declaration.hpp
parent2b0805ddce66903c73c82047772f695b70c3b810 (diff)
cxx: Fix compilation after merge
This resolves a few issues and brings back the experimental features. Also, disable some of the ugliest experiments: - manual function overrides, - define APIs only in eo_cxx namespace Some APIs are generated behind EFL_CXXPERIMENT (eg. event_name_cb_add or some weak pointer stuff). I believe they are useful but would like to make sure there are no serious drawbacks with generating those.
Diffstat (limited to '')
-rw-r--r--src/lib/eolian_cxx/grammar/type_function_declaration.hpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/lib/eolian_cxx/grammar/type_function_declaration.hpp b/src/lib/eolian_cxx/grammar/type_function_declaration.hpp
index eccedf8f4a..93ebe45940 100644
--- a/src/lib/eolian_cxx/grammar/type_function_declaration.hpp
+++ b/src/lib/eolian_cxx/grammar/type_function_declaration.hpp
@@ -56,7 +56,7 @@ struct type_function_declaration_generator {
56 56
57 std::vector<std::string> c_args; 57 std::vector<std::string> c_args;
58 for (auto itr : f.parameters) 58 for (auto itr : f.parameters)
59 c_args.push_back(", " + itr.c_type + " " + itr.param_name); 59 c_args.push_back(", " + itr.type.c_type + " " + itr.param_name);
60 if (!as_generator( 60 if (!as_generator(
61 scope_tab << "static " << string << " caller(void *cxx_call_data" 61 scope_tab << "static " << string << " caller(void *cxx_call_data"
62 << *(string) << ") {\n" 62 << *(string) << ") {\n"
@@ -102,7 +102,8 @@ struct type_function_declaration_generator {
102 102
103template <> 103template <>
104struct is_eager_generator<type_function_declaration_generator> : std::true_type {}; 104struct is_eager_generator<type_function_declaration_generator> : std::true_type {};
105 105template <>
106struct is_generator<type_function_declaration_generator> : std::true_type {};
106namespace type_traits { 107namespace type_traits {
107template <> 108template <>
108struct attributes_needed<type_function_declaration_generator> : std::integral_constant<int, 1> {}; 109struct attributes_needed<type_function_declaration_generator> : std::integral_constant<int, 1> {};