Как извлечь информацию о типе указателя, используя привязки Python Clang - PullRequest
0 голосов
/ 24 октября 2019

Используя привязки Python Clang, как выяснить, на какой тип структуры указывает мой указатель?

Более конкретно, используя написанную мной функцию поиска синтаксического анализатора, я могу извлечь узелиз AST, который представляет мой вызов функции. Я также могу получить аргументы, которые я передаю. Когда я пытаюсь получить тип аргумента, я правильно определяю, что тип является указателем U8. Как мне узнать, на какой тип объекта я указываю? Я пытаюсь определить, какая информация в AST скажет мне, что я указываю на структуру: "custom_heap".

// C code I'm parsing
ptr = (U8*) &custom_heap;
foo((void*) ptr);
# Using python:, find funcname=foo then extract the arguments that I pass to foo
func = parser.search({
           'spelling': funcname,
           'kind': CursorKind.CALL_EXPR, })
fargs = list(func.get_arguments())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...