Reference resolving is broken.

The resolve strategy gets passed the actual string node at the cursor position, instead of the surrounding constructor. This seems to be caused by revision 21312.

Submitted by Nathan Bruning on 5 November 2010 at 21:03

On 8 November 2010 at 13:12 Lennart Kats commented:

I suppose the behavior did change there. What it used to do was just get the parent of a term if it did not have a constructor. So instead of "foo" you’d get Id("foo") or Call(..., "foo"). Now, you only get the parent if it does not have any other children (or if it’s the same lexical construct). So "foo" becomes Id("foo") but not Call(..., "foo").

All in all, you could argue that the new behavior is better, or even that the old one is better. But it wasn’t really my intention to change it, so I’ll change it in r21338 so at least for this scenario it has the old behavior.

On 8 November 2010 at 13:12 Lennart Kats closed this issue.

On 14 April 2011 at 18:29 Lennart Kats commented:

Note that the behavior is changed again for Spoofax/358.

Log in to post comments