I'm working my way through call resolution for Prolint, and found something that looks like dead code.
It looks like procedure ProcessFieldRUsage in nameconv.p is just a copy/paste from varusage.p. I think it's unused and should be removed. It has a call to AddDetectedUsage, which is only defined in varusage.p (which doesn't appear to be a super of anything)... so that call would fail if it was ever executed.
ok but what is "call resolution"?
I bet you're right that ProcessFieldRUsage is never called and I have deleted it.
But more interesting: what IS call resolution?
re: what IS call resolution
I'm loading Prolint into Analyst, and I'll make it available online for those interested in the Prolint code, and also as a demo of Analyst.
Analyst resolves most calls by doing string propagation, but where it gets more tricky (like program names from tables or configuration files), then Analyst needs a little help from end user scripts. That's what I did for Prolint - made sure that all of the important calls are resolved.