Я пытаюсь создать инструмент рефакторинга, который позволил бы мне получить синтаксическое дерево из классаjective-c, чтобы я мог изменить структуру класса и вывести другую версию, соответствующую моим критериям. Я смотрю на Libtooling Clang, чтобы сгенерировать AST, а затем взять его оттуда, проблема в том, что мне нужно каким-то образом убедиться, что я рекомендую все пути ко всем возможным заголовкам, которые импортируются из этого источника, и это что-то Я хотел бы избежать.
Мне интересно, есть ли способ генерировать AST для класса без необходимости, например, указывать пути для каркаса, содержащего определения классов свойств, которые класс, который я хочу разместить в рефакторе.
В идеале я мог бы получить узлы в необработанном тексте моего исходного файла, содержащем такие вещи, как свойства, функции и т. Д. ... таким образом, я бы мог пройти по этому дереву и изменить его структуру, чтобы впоследствии восстановить мой источник по желанию.