eolian_mono: Generate proper doc refs for Constants

Summary:
Support for global constant variables has been recently added to the C# bindings.
This patch fixes doc references so they use the proper name.
This brings the mono doc warnings from 71 down to 29.

Depends on D8048

Test Plan:
Just build and see less doc warnings when building the C# bindings.
Also, doc refs to constants are links now.

Reviewers: lauromoura, vitor.sousa

Reviewed By: lauromoura

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8051
This commit is contained in:
Xavi Artigas 2019-02-28 10:38:47 +01:00
parent d2e6d33485
commit 7269fdc1e2
1 changed files with 12 additions and 0 deletions

View File

@ -135,6 +135,18 @@ struct documentation_generator
case ::EOLIAN_OBJECT_FUNCTION:
ref += function_conversion(data, (const ::Eolian_Function *)data2, name_tail);
break;
case ::EOLIAN_OBJECT_VARIABLE:
if (::eolian_variable_type_get((::Eolian_Variable *)data) == ::EOLIAN_VAR_CONSTANT)
{
auto names = utils::split(name_helpers::managed_namespace(::eolian_object_name_get(data)), '.');
names.pop_back(); // Remove var name
ref = name_helpers::join_namespaces(names, '.');
ref += "Constants.";
ref += name_helpers::managed_name(::eolian_object_short_name_get(data));
}
// Otherwise, do nothing and no <see> tag will be generated. Because, who would
// reference a global (non-constant) variable in the docs?
break;
case ::EOLIAN_OBJECT_UNKNOWN:
// If the reference cannot be resolved, just return an empty string and
// it won't be converted into a <see> tag.