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 ccbbfce..5fc1f18 100644
--- a/src/bin/eolian_mono/eolian/mono/name_helpers.hh
+++ b/src/bin/eolian_mono/eolian/mono/name_helpers.hh
@@ -364,13 +364,27 @@ inline std::string klass_inherit_name(T const& klass)
364template<typename T> 364template<typename T>
365inline std::string klass_native_inherit_name(T const& klass) 365inline std::string klass_native_inherit_name(T const& klass)
366{ 366{
367 return klass_concrete_name(klass) + "NativeInherit"; 367 switch(klass.type)
368 {
369 case attributes::class_type::abstract_:
370 case attributes::class_type::regular:
371 return klass_concrete_name(klass) + "NativeInherit";
372 default:
373 return klass_interface_name(klass) + "NativeInherit";
374 }
368} 375}
369 376
370template<typename T> 377template<typename T>
371inline std::string klass_full_native_inherit_name(T const& klass) 378inline std::string klass_full_native_inherit_name(T const& klass)
372{ 379{
373 return klass_full_concrete_name(klass) + "NativeInherit"; 380 switch(klass.type)
381 {
382 case attributes::class_type::abstract_:
383 case attributes::class_type::regular:
384 return klass_full_concrete_name(klass) + "NativeInherit";
385 default:
386 return klass_full_interface_name(klass) + "NativeInherit";
387 }
374} 388}
375 389
376template<typename T> 390template<typename T>