я использую Atomineer 9.00, чтобы отформатировать комментарии к коду, но у меня возникают трудности при попытке определить, является ли тип возвращаемого значения const
или нет. документация утверждает, что для MethodReturns, с помощью %type%
предоставит полный тип возвращаемого значения (приведенный пример: const int*
):
MethodReturns
Правила, используемые для генерации описания возвращаемых значений для методов (функций 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&
std::string& PractiseAction();
//! \brief Attempt action.
//! \return zzz A std::string&
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%
а также %specialType%
(они упоминаются при определении типа возвращаемого значения при документировании метода в Methods.xml), но ни один из них не включает const
,
Я также пробовал несколько других типов (double
, std::string
и обычай struct
s) так что это не просто int
,
Как видно из приведенного выше примера, я убедился, что описание, которое я задаю, определенно вызывается.
Кроме того, кажется, что это прекрасно работает с Parameters.xml (определить, является ли тип параметра const
или нет); тем не менее, он не работает в Methods.xml (где %retType%
может быть использован для определения типа возврата с модификаторами)
Как я могу определить, возвращает ли метод const
?
Это явно ошибка в Atomineer и все еще воспроизводимая в последней версии (9.21.3.1510). Как в их правилах и шаблонах документации написано %type%
переменная внутри MethodReturns.xml
всегда должен разрешаться до полного типа (включая const-модификатор). Пример там
% type% Тип возврата для метода
(const int*)
даже использует модификатор const и должен разрешить (const int*)
— но нет. Проблема сохраняется уже по умолчанию MethodReturns.xml
без каких-либо модификаций (даже, что есть %retType%
используется, который не содержится в документация вообще — но она в любом случае ведет себя одинаково: в документации нет модификатора const).
Я бы предложил связаться со службой поддержки документации Atomineer Pro по электронной почте на их веб-сайте ([email protected]) и сообщить им об этой проблеме.
Извинения @Tas — это действительно была регрессия в Atomineer, которую мы исправили в день, когда услышали об этом. Я не заметил ваш пост здесь, иначе мы бы решили проблему раньше. Если у вас возникнут проблемы в будущем, пожалуйста, свяжитесь с нами напрямую (наш адрес электронной почты находится на Сайт Atomineer) поэтому мы можем помочь вам быстро.
(Исправление будет в v9.22, которое должно быть выпущено в ближайшее время)