【发布时间】:2016-05-23 09:44:05
【问题描述】:
我正在使用 Clang 打印一些关于我的 AST 的信息。
例如:
template<typename T>
class Slices : public Fruit {
T fruit;
int numberOfSlices;
public:
Slices(T fruit, int numberOfSlices)
: fruit(fruit), numberOfSlices(numberOfSlices) {
}
std::string getName() {
return "Sliced " + fruit.getName();
}
int getNumberOfSlices() {
return numberOfSlices;
}
};
应该打印类似:
template<typename T>
Slices
Fields:
T fruit;
int numberOfSlices
Methods:
...
我写了一个访问者,它在T fruit 中的T 处点击TemplateTypeParmType 节点。
但是,该节点似乎没有附加任何标识符。这些都是null:
x->getDecl()
x->getIdentifier()
如何从该节点提取模板名称(此处为 T)?
【问题讨论】:
标签: templates clang abstract-syntax-tree