我具有如下功能,
int foo(int i, int i2, int i3)
{
return 0;
}
我使用visitDeclaration
访问所有函数声明,然后从那里来到parameterdeclarationlist()
,我可以看到里面有多个parameterdeclaration
具有我所需要的全部。
我可以通过类似的方法得到第一个论点,
...
paramclaus = paramsqual.parameterdeclarationclause()
if paramclaus is not None:
paramdeclst = paramclaus.parameterdeclarationlist()
paramdecltn = paramdeclst.parameterdeclaration()
print(paramdecltn.getText())
但是我无法遍历所有其他参数声明对象。我还实现了visitParameterdeclarationlist
,该函数为我提供了函数参数,但是后来我不知道如何获取这些参数的函数名称。
提前感谢。
如果您更改:
parameterdeclarationlist
: parameterdeclaration
| parameterdeclarationlist ',' parameterdeclaration
;
进入:
parameterdeclarationlist
: parameterdeclaration (',' parameterdeclaration)*
;
您可以执行以下操作:
paramdeclst = paramclaus.parameterdeclarationlist()
for paramdecltn in paramdeclst.parameterdeclaration():
print(paramdecltn.getText())