Я хотел бы извлечь из данного проекта Scala, график вызовов всех методов, которые являются частью собственного источника проекта.
Насколько я понимаю, компилятор презентации не включил это, и ему необходимо полностью отказаться от реального компилятора (или плагина компилятора?).
Можете ли вы предложить полный код, который будет безопасно работать для большинства проектов Scala, но те, которые используют самые сумасшедшие функции динамического языка? для графа вызовов я имею в виду направленный (возможно, циклический) график, содержащий вершины class/trait + method
, где ребро A → B указывает, что A может вызывать B.
Звонки в/из библиотек следует избегать или "отмечать" как вне собственного источника проекта.
Спасибо!
EDIT:
Посмотрите мое прототипное решение на основе макроса, основанное на лидерстве @dk14, в качестве ответа ниже. Хостинг на github на http://goo.gl/oeshdx.