2008/8/15 Chris Lattner <[EMAIL PROTECTED]>:
>> D) Printing Ranges. This requires:
>>
>> *) Printing accurate column information. Similar to (B) above.
>>
>> *) A location(s) -> source strings interface and machinery. Similar
>> to (A.3) above.
>
> Ranges also require some way to get the end of a token (in addition to its
> beginning). For example, a range for:
>
> X + some_long\
> _ident??/
> ifier
>
> The range should start at "X" and end at "r". This is just a location like
> any other, but requires passing down like the begin loc. You might instead
> decide to do some fuzzy matching or something, but clang at least gets this
> right. This is important for other clients of the loc info, e.g.
> refactoring clients.
Oh yes. Well, there is a lot of fine-tunning to do but I think that
would be covered by A.1 and the binary_op expression would have at
least two locations begin/end pointing to X and r. If we are able to
print ({break;}), in the example I gave earlier, then we will be able
to print nice ranges most of the time.
Cheers,
Manuel.