Я пишу библиотеку, чтобы помочь мне визуализировать некоторые показатели моего собственного кода.Это привело меня к необходимости полного имени любого вызова функции в коде, который я анализирую.
Я надеялся, что использование модуля AST в Python предоставит мне это.Если я пройдусь по дереву, он предоставит узлы для любых импортов и псевдонимов, а также предоставит узлы для реальных вызовов функций.
Однако попытка создать полное имя из этих узлов не простая задача, и я сомневаюсь, что она справится со всеми ситуациями.Как мне это сделать?(Моя среда IDE поддерживает функцию «Перейти к определению», поэтому я знаю, что это возможно.)
Здесь приведено довольно изображение узла вызова функции, обратите внимание, что имя не является полным именем:
Call(func=Name(id='fib', ctx=Load()), args=[
Num(n=100),
], keywords=[])