Subject: Re: bug#19468: 25.0.50; UI inconveniences with M-.

From: Stefan Monnier <[email-masked]>
Date: Fri, 01 May 2015 14:13:47 -0400

>> bar is present in classes A, B and C.
>> If the parser knows the type of foo to be A, the backend employing it 
>> can bring us to the one definition. If, however, the backend returns the 
>> xrefs for A#foo, B#foo and C#foo, there's no way the UI could 
>> distinguish between them.
> That's the case where the UI should instruct the back-end what it
> needs, because the back-end doesn't know which of these alternatives
> is the right one.

You got it backwards: here, only the backend (which knows about the
language's rules) can know, by asking the compiler.  Remember: when you
hit M-., the backend is asked to find the definition of the entity under
point (so it has the complete context of occurrence of "bar" and can
figure out that it's looking for the "bar" of class "A"), not the
definition of a context-deprived "bar" identifier.

        Stefan