summaryrefslogtreecommitdiff
path: root/src/lib/eolian_cxx/grammar/inheritance_base_generator.hh
diff options
context:
space:
mode:
authorSavio Sena <savio.sena@acm.org>2014-07-25 11:32:02 -0300
committerSavio Sena <savio.sena@acm.org>2014-07-25 11:32:56 -0300
commit0cc5f5c94d3563939818acb4626dce8bd611d4da (patch)
tree7b1ea0eb2c2d8e8b4707a64cb84266296cd9dd62 /src/lib/eolian_cxx/grammar/inheritance_base_generator.hh
parentae1ff34dd6959e419c811e42e5d0f59cc36dfeef (diff)
eolian-cxx: Added generation of call_constructor for parent_type.
Diffstat (limited to 'src/lib/eolian_cxx/grammar/inheritance_base_generator.hh')
-rw-r--r--src/lib/eolian_cxx/grammar/inheritance_base_generator.hh13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/lib/eolian_cxx/grammar/inheritance_base_generator.hh b/src/lib/eolian_cxx/grammar/inheritance_base_generator.hh
index 3030b0b76b..778ec51f1f 100644
--- a/src/lib/eolian_cxx/grammar/inheritance_base_generator.hh
+++ b/src/lib/eolian_cxx/grammar/inheritance_base_generator.hh
@@ -266,6 +266,19 @@ operator<<(std::ostream& out, inheritance_call_constructors const& x)
266 << "));" << endl 266 << "));" << endl
267 << "}" << endl << endl; 267 << "}" << endl << endl;
268 } 268 }
269
270 out << "inline void" << endl
271 << "call_constructor(tag< "
272 << x._cls.name_space << "::" << x._cls.name << " >" << endl
273 << tab(5) << ", Eo* eo, Eo_Class const* cls EINA_UNUSED," << endl
274 << tab(5) << "args_class<"
275 << x._cls.name_space << "::" << x._cls.name
276 << ", ::std::tuple<efl::eo::parent_type> > const& args)" << endl
277 << "{" << endl
278 << tab(1) << "eo_do_super(eo, cls, ::eo_constructor());" << endl
279 << tab(1) << "eo_do(eo, ::eo_parent_set(args.get<0>()._eo_raw));" << endl
280 << "}" << endl << endl;
281
269 return out; 282 return out;
270} 283}
271 284