Использование метаданных Objective-C для создания графа зависимостей классов

Этот парень придумал довольно изящный инструмент для создания графа зависимостей классов - однако он полагается на синтаксический анализ вашего исходного кода и поиск директив #import .

Это здорово, но у меня с этим есть ряд проблем. по крайней мере, это не учитывает импорт ts импорта, ни заголовков префиксов, ни того, действительно ли используются классы в файле, на который ссылается импорт.

Я хотел бы сделать что-то более похожее на class-dump и изучить метаданные Objective-C, хранящиеся в файле Mach-O, чтобы сгенерировать представление зависимостей классов в памяти.

Я бы предпочел не делать это с нуля, поэтому мне интересно:

  • Это уже было сделано?
  • Есть ли библиотека с открытым исходным кодом, которая предоставила бы мне основные инструменты, которые мне нужно извлечь эта информация (библиотека, которая изучает файл Mach-O и создает фасад информации Objective-C, содержащейся внутри - так, чтобы я мог перебирать все классы, их методы, свойства, ivars и т. д. и сканировать ссылки на другие classes) Я полагаю, что исходный код class-dump был бы хорошим местом для начала.
  • Если у вас есть опыт в такого рода вещах, возможно ли то, что я пытаюсь достичь?
  • Какие препятствия мне нужно будет преодолеть?

6
задан Steve 28 August 2011 в 04:55
поделиться