rubyhs/BACKLOG.md

690 B

There still an issue with inferring for a given function call / constant reference where that thing is defined.

We're currently generating the forest of references from the call graph by calculating a spanning forest. There's a problem with that. Consider the following map of call-sites:

{
  a: [b]
  b: []
}

The following is a spanning tree:

{
  a: []
  b: []
}

Here it looks like a doesn't call b.

We should also store all the call-sites. These will end up as leaves in the call tree.

{
  "K": {},
  "A": {},
  "f": {
    "f": "__cycle__"
  },
  "A.f": {
    "K.g": {}
  }
}

Write graphviz output.