aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/eolian_cxx/grammar/function_definition.hpp
diff options
context:
space:
mode:
authorFelipe Magno de Almeida <felipe@expertisesolutions.com.br>2016-06-16 21:48:07 -0300
committerFelipe Magno de Almeida <felipe@expertisesolutions.com.br>2016-06-16 21:48:07 -0300
commitb97a156ac42a0f20fb34abb496102948d0abe58a (patch)
tree573b514030c99b3d51421b46830353447f926583 /src/lib/eolian_cxx/grammar/function_definition.hpp
parentedje: creation of gradient node from data parsing of color property and refac... (diff)
downloadefl-b97a156ac42a0f20fb34abb496102948d0abe58a.tar.gz
eolian-cxx: Work with @inout parameter of void type
Diffstat (limited to 'src/lib/eolian_cxx/grammar/function_definition.hpp')
-rw-r--r--src/lib/eolian_cxx/grammar/function_definition.hpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/lib/eolian_cxx/grammar/function_definition.hpp b/src/lib/eolian_cxx/grammar/function_definition.hpp
index b2280271d9..a2de1aaf41 100644
--- a/src/lib/eolian_cxx/grammar/function_definition.hpp
+++ b/src/lib/eolian_cxx/grammar/function_definition.hpp
@@ -63,13 +63,21 @@ struct function_definition_generator
{ return p.direction == attributes::parameter_direction::out; })
[
attribute_reorder<1, 2>
- (scope_tab << c_type << " __out_param_" << string << " = {};\n")
+ (scope_tab <<
+ (attribute_conditional([] (attributes::type_def const& p) -> bool
+ { return p != attributes::void_; })
+ [c_type] | "void*")
+ << " __out_param_" << string << " = {};\n")
]
| attribute_conditional([] (attributes::parameter_def const& p) -> bool
{ return p.direction == attributes::parameter_direction::inout; })
[
attribute_reorder<1, 2, 1, 1, 2>
- (scope_tab << c_type << " __out_param_" << string << " = ::efl::eolian::convert_inout<" << c_type
+ (scope_tab <<
+ (attribute_conditional([] (attributes::type_def const& p) -> bool
+ { return p != attributes::void_; })
+ [c_type] | "void*")
+ << " __out_param_" << string << " = ::efl::eolian::convert_inout<" << c_type
<< ", " << type << ">(" << string << ");\n")
]
| eps