使用一个前导下划线为Python方法提取Doxygen doc,但不使用带有两个前导下划线的方法

时间:2012-10-15 09:20:31

标签: python documentation python-2.7 doxygen

在我正在研究的Python代码中,使用了一种惯例,即带有一个前导下划线的方法是“受保护的”,带有两个前导下划线的方法是“私有”。现在我想要没有下划线的所有方法的Doxygen提取文档以及带有一个前导下划线的所有方法,但不是带有两个前导下划线的方法。

我发现的各种设置和命令要么为我提供没有下划线的方法的文档,要么是所有方法(包括带有一个和两个前导下划线的方法)。

1 个答案:

答案 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;
  }
}