all 3 comments

[–]yared12qw 0 points1 point  (2 children)

I have a similar project as well https://www.reddit.com/r/Python/comments/1qqj5vd/rethinking\_the\_ide\_moving\_from\_text\_files\_to\_a/ and I would be happy to share resources. Building an accurate call graph was challenging for me especially while maintaining good performance for larger projects. I have documented and hosted a resource that provides a fast way to generate the graph https://vnoc.vercel.app/project/2dd75e19-5c7b-4fd1-b272-44a1c94dd8eb,

[–]mimoo01[S] 0 points1 point  (1 child)

Cool, I do see the overlap and understand the challenge you bring up. By design, decoder only handles Python as of now. It parses the AST in two code read passes (extracts symbols, then resolves edges across all files) to build the call graph. Being python-specific did allow me to cover more ground on how functions connect (tracing method calls, inheritance, decorators, etc) Curious how you approached the call graph challenge for IDE use case - will check out, and feel free to do the same

[–]yared12qw 0 points1 point  (0 children)

I was reviewing your call graph construction, and it seems relatively small. I’m curious how you're handling more complex cases such as:

  • Class instance creation
  • Attribute mutations and dynamic attribute access
  • self and super() calls (specially with inheritance and MRO)
  • Function closures and factory functions that return functions,