从libclang中的类型获取不带参数的模板拼写

2024-10-03 13:27:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我找不到一个没有参数的模板类型的“完全限定名”的方法,只有普通名

也就是说,对于一个拼写为NS::NS::TemplatedType<int, char>的类型来说,就是NS::NS::TemplatedType

我知道可以对字段声明中的游标执行此操作;我只是用:

plain_type_name = "::".join([c.spelling for c in cursor.get_children()])

不幸的是,我没有游标,因为我是通过typedef_cursor.underlying_typedef_typeTYPEDEF_DECL游标获取类型的。所以我想我可以和一种类型的人一起工作

我试图处理一个typedef声明,比如typedef NS::NS::TemplatedType<int, char> TTic;,我想从源类型中删除模板参数

我的目标是python代码,但如果我得到一个c++解决方案,我可以按照自己的方式进行翻译。显然我不想把拼写规则化


Tags: 方法name模板声明类型参数typecursor