#python #c #llvm #libclang
Вопрос:
Я использую привязки libclang (для удобства: https://pypi.org/project/libclang/). У меня есть следующий фрагмент кода (минимальный пример):
struct TemplateFunctionSpecHolder
{
template<typename T>
int templateMethodSpec_1(double b) { return 7;}
};
template<>
int TemplateFunctionSpecHolder::templateMethodSpec_1<char>(double b)
{
return 8;
}
Я указал курсором на второй метод (спецификация шаблона). К сожалению, cursor.get_num_template_arguments(), cursor.type.get_num_template_arguments() и другие (например, cursor.canonical.get_num_template_arguments()) дают мне -1. Любой метод получения параметров шаблона не будет работать.
Есть ли какой-либо способ получить специализированный тип шаблона? Использование cursor.tokens довольно плохо.