2
我开发的Eclipse CDT的扩展插件,它具有解析C++代码,发现所有CDT:解析枚举,枚举和相应的值
- 枚举(名称)
- 统计员(名)
- 枚举值(数字)
假设.cpp文件包含以下文本
enum SomeEnum
{
One = 0,
Two = 1,
Three = 2,
Four = 3,
maxNum
};
的pluging应输出以下:
- 枚举 - SomeEnum
- 枚举 - 一,二,三,四,MAXNUM
- 值 - 0,1,2,3 ,
ASTVisitor继承类的visitor方法查找enumeratio NS这样
public int visit(IASTDeclaration declaration) {
if (declaration instanceof IASTSimpleDeclaration) {
IASTDeclSpecifier specifier = ((IASTSimpleDeclaration)declaration).getDeclSpecifier();
if (specifier instanceof IASTEnumerationSpecifier) {
IASTEnumerationSpecifier enumSpecifier = (IASTEnumerationSpecifier)specifier;
IBinding binding = enumSpecifier.getName().resolveBinding();
System.out.println(enumSpecifier.getName());
}
}
return PROCESS_CONTINUE;
}
问:我如何可以遍历枚举,发现枚举其相应的价值?