Есть ли способ получить тип перечисления значения в древовидной структуре G CC? - PullRequest
0 голосов
/ 21 февраля 2020

Я пишу плагин G CC для G CC 9, и у меня возникает следующая проблема:

Представьте себе простую инициализацию:

enum en{ENUM_VAL1, ENUM_VAL2, ...};

int a = ENUM_VAL1;

То, что я хотел бы, чтобы это было в состоянии сделать, - это извлечение информации о том, что значение a является значением enum, определенным перечислением en.

Что я делаю в данный момент подключается к событию PLUGIN_ON_FINISH_DECL, давая мне дерево VAR_DECL, представляющее это объявление.

Используя макрос DECL_INITIAL, я могу получить узел значения этого объявления. Однако возвращенный узел этого макроса является узлом INTEGER_CST. Я до сих пор не могу извлечь из этого, что это значение на самом деле является значением перечисления.

Есть ли способ сделать это?

...