Что такое элемент узла, чтобы получить определение атрибута из заголовочного файла с использованием CDT? - PullRequest
0 голосов
/ 30 января 2019

У меня есть файл .h, относящийся к файлу класса (.cpp), я использую CDT для изменения кода, но я не нашел узла элемента, который ссылается на атрибут класса, например:

#ifndef DEF_PERSONNAGE
#define DEF_PERSONNAGE

class simple 
{
    public:

    void recevoirDegats(int nbDegats);

    private:

    int m_vie;
};

#endif

Я получаю декларатор функции, проверяя, является ли узел экземпляром IASTFunctionDeclarator, но получить поле int m_vie;я использую что?

1 Ответ

0 голосов
/ 30 января 2019

нам нужно проверить, что: родитель этого узла имеет тип CPPASTDeclarator, а третий родитель является классом (среднее значение типа ICPPASTCompositeTypeSpecifier), поэтому мы гарантируем, что это объявление является объявлением атрибута для класса

например имя: IASTName

if ((name.getParent () instanceof CPPASTDeclarator) && (name.getParent (). getParent (). getParent () instanceof ICPPASTCompositeTypeSpecifier))

...