diff options
author | Felipe Magno de Almeida <felipe@expertisesolutions.com.br> | 2017-09-25 21:57:25 -0300 |
---|---|---|
committer | Felipe Magno de Almeida <felipe@expertisesolutions.com.br> | 2017-09-25 21:57:25 -0300 |
commit | bb887f9869c3dd9eca72c8e65f335d148f9dbdd3 (patch) | |
tree | 7b4e33f6e249d59963cd58a81f9c78b82f653c7f /src/lib/eolian_cxx/grammar/type_impl.hpp | |
parent | 39318789a88cf5e3930c9ed6e9d437aa374ce7ad (diff) |
eolian-cxx: Fix compilation errors with new any_value_ptr and mstring types
Diffstat (limited to '')
-rw-r--r-- | src/lib/eolian_cxx/grammar/type_impl.hpp | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/lib/eolian_cxx/grammar/type_impl.hpp b/src/lib/eolian_cxx/grammar/type_impl.hpp index bb61980dd9..fb78c1e51b 100644 --- a/src/lib/eolian_cxx/grammar/type_impl.hpp +++ b/src/lib/eolian_cxx/grammar/type_impl.hpp | |||
@@ -110,6 +110,24 @@ struct visitor_generate | |||
110 | r.base_qualifier.qualifier ^= qualifier_info::is_ref; | 110 | r.base_qualifier.qualifier ^= qualifier_info::is_ref; |
111 | return replace_base_type(r, " ::efl::eina::string_view"); | 111 | return replace_base_type(r, " ::efl::eina::string_view"); |
112 | }} | 112 | }} |
113 | , {"mstring", false, nullptr, nullptr, [&] | ||
114 | { | ||
115 | regular_type_def r = regular; | ||
116 | r.base_qualifier.qualifier |= qualifier_info::is_ref; | ||
117 | // r.base_qualifier.qualifier ^= qualifier_info::is_const; | ||
118 | if(is_out || is_return) | ||
119 | return replace_base_type(r, " ::std::string"); | ||
120 | return replace_base_type(r, " ::efl::eina::string_view"); | ||
121 | }} | ||
122 | , {"mstring", true, nullptr, nullptr, [&] | ||
123 | { | ||
124 | regular_type_def r = regular; | ||
125 | r.base_qualifier.qualifier ^= qualifier_info::is_ref; | ||
126 | // r.base_qualifier.qualifier ^= qualifier_info::is_const; | ||
127 | if(is_out || is_return) | ||
128 | return replace_base_type(r, " ::std::string"); | ||
129 | return replace_base_type(r, " ::efl::eina::string_view"); | ||
130 | }} | ||
113 | , {"stringshare", nullptr, nullptr, nullptr, [&] | 131 | , {"stringshare", nullptr, nullptr, nullptr, [&] |
114 | { | 132 | { |
115 | regular_type_def r = regular; | 133 | regular_type_def r = regular; |
@@ -124,6 +142,13 @@ struct visitor_generate | |||
124 | , {"any_value", false, nullptr, nullptr, [&] | 142 | , {"any_value", false, nullptr, nullptr, [&] |
125 | { return regular_type_def{" ::efl::eina::value_view", regular.base_qualifier, {}}; | 143 | { return regular_type_def{" ::efl::eina::value_view", regular.base_qualifier, {}}; |
126 | }} | 144 | }} |
145 | , {"any_value_ptr", true, nullptr, nullptr, [&] | ||
146 | { | ||
147 | return regular_type_def{" ::efl::eina::value", regular.base_qualifier ^ qualifier_info::is_ref, {}}; | ||
148 | }} | ||
149 | , {"any_value_ptr", false, nullptr, nullptr, [&] | ||
150 | { return regular_type_def{" ::efl::eina::value_view", regular.base_qualifier ^ qualifier_info::is_ref, {}}; | ||
151 | }} | ||
127 | }; | 152 | }; |
128 | if(regular.base_type == "void_ptr") | 153 | if(regular.base_type == "void_ptr") |
129 | { | 154 | { |