if (blacklist::is_function_blacklisted(
::eolian_function_full_c_name_get(function, ftype))) return "";
name += ".";
- name += name_helpers::managed_method_name(
- ::eolian_object_short_name_get(klass), eo_name);
+ name += name_helpers::managed_method_name({function, ftype, NULL, eolian_object_unit_get(EOLIAN_OBJECT(function))});
break;
case ::EOLIAN_PROP_SET:
name += ".Set";
case attributes::function_type::prop_get:
if (blacklist::is_function_blacklisted(func.c_name))return "";
if (!name.empty()) name += ".";
- name += name_helpers::managed_method_name(func.klass.eolian_name, func.name);
+ name += name_helpers::managed_method_name(func);
break;
default:
// No need to deal with property as function_defs are converted to get/set when building a given klass_def.
return generate_all_tag_examples(sink,
name_helpers::klass_full_concrete_or_interface_name(func.klass),
- name_helpers::managed_method_name(func.klass.eolian_name, func.name),
+ name_helpers::managed_method_name(func),
context);
}
return generate_all_tag_examples(sink,
name_helpers::klass_full_concrete_or_interface_name(func.klass),
- name_helpers::managed_method_name(func.klass.eolian_name, func.name),
+ name_helpers::managed_method_name(func),
context);
}
return escape_keyword(utils::remove_all(ns, '_'));
}
-inline std::string managed_method_name(std::string const& klass, std::string const& name)
+inline std::string managed_method_name(attributes::function_def const& f)
{
- std::vector<std::string> names = utils::split(name, '_');
+ std::vector<std::string> names = utils::split(f.name, '_');
name_helpers::reorder_verb(names);
std::string candidate = escape_keyword(utils::to_pascal_case(names));
// Some eolian methods have the same name as their parent class
- if (candidate == klass)
+ if (candidate == klass_concrete_or_interface_name(f.klass))
candidate = "Do" + candidate;
// Avoid clashing with System.Object.GetType
if (candidate == "GetType" || candidate == "SetType")
{
- candidate.insert(3, klass);
+ candidate.insert(3, f.klass.eolian_name);
}
return candidate;
return utils::to_pascal_case(tokens);
}
-inline std::string managed_method_name(attributes::function_def const& f)
-{
- return managed_method_name(f.klass.eolian_name, f.name);
-}
-
inline std::string alias_full_eolian_name(attributes::alias_def const& alias)
{