summaryrefslogtreecommitdiff
path: root/src/bin/eolian_mono/eolian/mono/name_helpers.hh
diff options
context:
space:
mode:
Diffstat (limited to 'src/bin/eolian_mono/eolian/mono/name_helpers.hh')
-rw-r--r--src/bin/eolian_mono/eolian/mono/name_helpers.hh18
1 files changed, 16 insertions, 2 deletions
diff --git a/src/bin/eolian_mono/eolian/mono/name_helpers.hh b/src/bin/eolian_mono/eolian/mono/name_helpers.hh
index 8910447..c0b206a 100644
--- a/src/bin/eolian_mono/eolian/mono/name_helpers.hh
+++ b/src/bin/eolian_mono/eolian/mono/name_helpers.hh
@@ -358,13 +358,27 @@ inline std::string klass_inherit_name(T const& klass)
358template<typename T> 358template<typename T>
359inline std::string klass_native_inherit_name(T const& klass) 359inline std::string klass_native_inherit_name(T const& klass)
360{ 360{
361 return klass_concrete_name(klass) + "NativeInherit"; 361 switch(klass.type)
362 {
363 case attributes::class_type::abstract_:
364 case attributes::class_type::regular:
365 return klass_concrete_name(klass) + "NativeInherit";
366 default:
367 return klass_interface_name(klass) + "NativeInherit";
368 }
362} 369}
363 370
364template<typename T> 371template<typename T>
365inline std::string klass_full_native_inherit_name(T const& klass) 372inline std::string klass_full_native_inherit_name(T const& klass)
366{ 373{
367 return klass_full_concrete_name(klass) + "NativeInherit"; 374 switch(klass.type)
375 {
376 case attributes::class_type::abstract_:
377 case attributes::class_type::regular:
378 return klass_full_concrete_name(klass) + "NativeInherit";
379 default:
380 return klass_full_interface_name(klass) + "NativeInherit";
381 }
368} 382}
369 383
370template<typename T> 384template<typename T>