在我正在研究的Python代码中,使用了一种惯例,即带有一个前导下划线的方法是“受保护的”,带有两个前导下划线的方法是“私有”。现在我想要没有下划线的所有方法的Doxygen提取文档以及带有一个前导下划线的所有方法,但不是带有两个前导下划线的方法。
我发现的各种设置和命令要么为我提供没有下划线的方法的文档,要么是所有方法(包括带有一个和两个前导下划线的方法)。
答案 0 :(得分:1)
Doxygen目前具有硬编码行为,以_开头的方法被视为私有。
如果你想改变这个,请看一下doxygen源代码,特别是newFunction()
中的src/pyscanner.l
函数应该改成这样的东西:
static void newFunction()
{
if (current->name.left(2)=="__" && current->name.right(2)=="__")
{
// special method name, see
// http://docs.python.org/ref/specialnames.html
current->protection=Public;
}
else if (current->name.left(2)=="__")
{
current->protection=Private;
}
else if (current->name.at(0)=='_')
{
current->protection=Protected;
}
}