Получение информации об атрибутах

86
24 ноября 2021, 12:00

Можно ли с помощью libclang получить атрибуты члена класса?

Пример кода:

class User
{
/* code */
private:
    [[attr_a]]
    const std::string m_username;
    __attribute__((attr_b))
    const std::string m_password;
};

При обходе AST, дойдя до элемента соответствующего m_username, я бы хотел получить информацию об атрибуте attr_a из его курсора.

На данный момент я не нашел ничего подходящего в документации по libclang API, за исключением функции, которая просто возвращает признак наличия/отсутствия атрибутов у элемента данного курсора: clang_Cursor_hasAttrs (если в документации идет речь о тех курсорах, конечно).

UPD.: на enSO нашел дополнительную информацию - если использовать следующую форму:

__attribute__((annotate("...")))

, то clang_Cursor_hasAttrs() вернет true. Для вышеупомянутых форм записи это не работало.

READ ALSO
libclang: парсинг .h файлов

libclang: парсинг .h файлов

libclang по-умолчанию обрабатываетh файлы как файлы содержащие код на C

104
Как написать программу, которая выводит прописью введенное число?

Как написать программу, которая выводит прописью введенное число?

Как написать программу, которое выводит прописью введенное число? Например, при вводе числа 999 результатом работы программы должна быть строка...

107
Поиск утечек дескрипторов

Поиск утечек дескрипторов

Есть ли в виндовом CRT средства для поиска незакрытых дескрипторов объектов (файлов, сокетов, процессов и тп

88