Add backlog
This commit is contained in:
parent
238765e28b
commit
5ae9b28d10
39
BACKLOG.md
Normal file
39
BACKLOG.md
Normal file
|
@ -0,0 +1,39 @@
|
||||||
|
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.
|
Loading…
Reference in a new issue