4

我正在使用Atomineer 9.00 来格式化我的代码注释,但我很难确定返回类型是否const存在。文档指出,对于MethodReturns using%type%将提供完整的返回类型(给出的示例是:) const int*

方法返回

用于为方法(VB 函数)的返回值生成描述的规则。在本节中可以使用以下特殊变量:

%type% 方法的返回类型 (const int*)
%typeBase% 方法的返回类型,不包括任何修饰符 (int)

但是,当我使用%type%它时会省略const. MethodReturns.xml 中的一个示例:

<Set desc="zzz A %type%" />

这将为该方法生成以下内容:

//! \brief  Performs the action.
//! \return zzz an int.
int PerformAction();

//! \brief  Performs the different action.
//! \return zzz an int.
const int PerformDifferentAction();

//! \brief  Practise action.
//! \return zzz A std::string&amp;
std::string& PractiseAction();

//! \brief  Attempt action.
//! \return zzz A std::string&amp;
const std::string& AttemptAction();

struct Success;

//! \brief  Performs the action with tips action.
//! \return zzz A success*.
Success* PerformActionWithTips();

//! \brief  Succeed at action.
//! \return zzz An int*.
const int* SucceedAtAction();

我已经尝试了所有其他变体:(%typeBase来自 MethodReturns.xml)甚至%retTypeBase%, %retType%, %typeBase%and %specialType%(这些都在确定返回类型时在 Methods.xml 中记录方法时提到)但这些都不包括const.

我还尝试了其他几种类型(doublestd::stringcustom struct),所以它不仅仅是int.

正如您从上面的示例中看到的,我已经验证了我设置的描述肯定是被调用的描述。

此外,这似乎与 Parameters.xml 完全兼容(确定参数类型是否const存在);但是,它似乎在 Methods.xml 中不起作用(%retType%可用于使用修饰符确定返回类型)

如何确定方法是否返回 aconst

4

2 回答 2

2

这显然是 Atomineer 中的一个错误,并且在最新版本 (9.21.3.1510) 中仍然可以重现。正如在他们的规则和模板文档中所写的那样,其中的%type%变量MethodReturns.xml应该始终解析为完整的类型(也包括 const-modifier)。那里的例子

%type% 方法的返回类型(const int*)

甚至使用 const 修饰符,应该解析为(const int*)- 但不是。默认情况下问题已经存在,MethodReturns.xml没有任何修改(即使%retType%使用了,它也不包含在完全没有文档 - 但无论如何它的行为都是一样的:文档中没有显示 const 修饰符)。

我建议通过其网站 (support@atomineerutils.com) 上的电子邮件联系 Atomineer Pro 文档的支持并将此问题报告给他们。

于 2016-02-03T05:33:42.547 回答
2

抱歉@Tas - 这确实是 Atomineer 的回归,我们在听说它的那天修复了它。我没有注意到您在这里的帖子,否则我们会尽快解决问题。如果您以后有任何问题,请直接与我们联系(我们的电子邮件地址在Atomineer 网站上),以便我们快速为您提供帮助。

(修复将在 v9.22 中,应该很快就会发布)

于 2016-02-08T22:56:25.740 回答