diff --git a/src/bin/eolian_mono/eolian/mono/name_helpers.hh b/src/bin/eolian_mono/eolian/mono/name_helpers.hh --- a/src/bin/eolian_mono/eolian/mono/name_helpers.hh +++ b/src/bin/eolian_mono/eolian/mono/name_helpers.hh @@ -293,11 +293,9 @@ template std::string operator()(T const& klass) const { - std::string name = utils::remove_all(klass.eolian_name, '_'); - if (klass.type == attributes::class_type::mixin || klass.type == attributes::class_type::interface_) - return "I" + name; - else - return name; + return ((klass.type == attributes::class_type::mixin + || klass.type == attributes::class_type::interface_) ? "I" : "") + + utils::remove_all(klass.eolian_name, '_'); } template @@ -325,10 +323,9 @@ template inline std::string klass_concrete_name(T const& klass) { - if (klass.type == attributes::class_type::mixin || klass.type == attributes::class_type::interface_) - return klass_interface_name(klass) + "Concrete"; - - return utils::remove_all(klass.eolian_name, '_'); + return utils::remove_all(klass.eolian_name, '_') + ((klass.type == attributes::class_type::mixin + || klass.type == attributes::class_type::interface_) + ? "Concrete" : ""); } template