summaryrefslogtreecommitdiff
path: root/src/lib/eolian_cxx/grammar/inheritance_base_generator.hh
diff options
context:
space:
mode:
authorFelipe Magno de Almeida <felipe@expertisesolutions.com.br>2015-01-05 18:59:09 -0200
committerFelipe Magno de Almeida <felipe@expertisesolutions.com.br>2015-01-05 18:59:09 -0200
commitc57fa54fc80f99cb36c1e1d3e4bf16c22ec2a969 (patch)
treeb1d628107f60ba5e622293c0fbfeb912afa567a8 /src/lib/eolian_cxx/grammar/inheritance_base_generator.hh
parent666b0da912db102c048cd2fd5a964dedfd956b56 (diff)
eolian-cxx: Fixed mixed inheritance between C and C++ classes
Removed genereation for Eo.Base primitive methods which segfault'ed on parent_set function.
Diffstat (limited to 'src/lib/eolian_cxx/grammar/inheritance_base_generator.hh')
-rw-r--r--src/lib/eolian_cxx/grammar/inheritance_base_generator.hh18
1 files changed, 9 insertions, 9 deletions
diff --git a/src/lib/eolian_cxx/grammar/inheritance_base_generator.hh b/src/lib/eolian_cxx/grammar/inheritance_base_generator.hh
index 30ee36d1bb..82678496ee 100644
--- a/src/lib/eolian_cxx/grammar/inheritance_base_generator.hh
+++ b/src/lib/eolian_cxx/grammar/inheritance_base_generator.hh
@@ -333,7 +333,6 @@ operator<<(std::ostream& out, inheritance_call_constructors const& x)
333 << full_name(x._cls) 333 << full_name(x._cls)
334 << ", ::std::tuple<::efl::eo::parent_type> > const& args)" << endl 334 << ", ::std::tuple<::efl::eo::parent_type> > const& args)" << endl
335 << "{" << endl 335 << "{" << endl
336 << tab(1) << "eo_do_super(eo, cls, ::eo_constructor());" << endl
337 << tab(1) << "eo_do(eo, ::eo_parent_set(args.get<0>()._eo_raw));" << endl 336 << tab(1) << "eo_do(eo, ::eo_parent_set(args.get<0>()._eo_raw));" << endl
338 << "}" << endl << endl; 337 << "}" << endl << endl;
339 338
@@ -362,14 +361,15 @@ operator<<(std::ostream& out, inheritance_eo_class_getter const& x)
362inline void 361inline void
363eo_inheritance_detail_generator(std::ostream& out, eo_class const& cls) 362eo_inheritance_detail_generator(std::ostream& out, eo_class const& cls)
364{ 363{
365 out << inheritance_wrappers(cls) 364 if(cls.eo_name != "EO_BASE_CLASS")
366 << "namespace efl { namespace eo { namespace detail {" << endl << endl 365 out << inheritance_wrappers(cls)
367 << inheritance_base_operations(cls) << endl 366 << "namespace efl { namespace eo { namespace detail {" << endl << endl
368 << inheritance_base_operations_size(cls) 367 << inheritance_base_operations(cls) << endl
369 << inheritance_operations_description(cls) 368 << inheritance_base_operations_size(cls)
370 << inheritance_call_constructors(cls) 369 << inheritance_operations_description(cls)
371 << inheritance_eo_class_getter(cls) 370 << inheritance_call_constructors(cls)
372 << "} } }" << endl; 371 << inheritance_eo_class_getter(cls)
372 << "} } }" << endl;
373} 373}
374 374
375} } } // namespace efl { namespace eolian { namespace grammar { 375} } } // namespace efl { namespace eolian { namespace grammar {