RFR 8172443: Change use of tree.pos to line:col in rawDiagnostics
Maurizio Cimadamore
maurizio.cimadamore at oracle.com
Thu Oct 5 14:12:18 UTC 2017
On 05/10/17 15:05, Vicente Romero wrote:
>
>
> On 10/05/2017 09:51 AM, Maurizio Cimadamore wrote:
>>
>>
>> On 05/10/17 14:49, Vicente Romero wrote:
>>> Hi,
>>>
>>> +100 to this effort, that will save us a lot of time. Regarding the
>>> patch, sometimes new lines need to be added to a test, sometimes in
>>> the jtreg header, sometimes somewhere else. How bad would be to use
>>> the column number only instead of line:col?
>> I understand the concern. I think the goal of this patch is to fix
>> the #1 offender. As you say there could be other offenders. But
>> getting rid of them all is hard - if you just use 'col' you basically
>> lose uniqueness, which makes looking at the golden file more obscure,
>> I think.
>
> well it's true that uniqueness could be a problem for errors reported
> at statements that spans more than one line, but I'm not sure if it is
> worthy to still keep a source of brittleness because of that. I mean
> what could be the probability of introducing a change that will swap
> two identical column positions in the diagnostics and still produce
> the same diagnostics such that we won't detect it. In the worst case
> we can add the line if we see that the particular statement we are
> generating the diagnostics for spans more than one line and use only
> the column for all other cases
I suggest with stick with the proposed approach and then see how bad it
is in the real world?
Maurizio
>
> Vicente
>
>>
>> Maurizio
>>>
>>> Thanks,
>>> Vicente
>>>
>>> On 10/05/2017 09:29 AM, Maurizio Cimadamore wrote:
>>>> Hi,
>>>> this is a fix to our raw diagnostic machinery that will allow for
>>>> more robust compiler negative tests. Currently, when a functional
>>>> expression is found in a diagnostic, it can sometimes be
>>>> represented using the absoluted cursor position of the expression
>>>> in the source file. This makes the golden files for such tests
>>>> extremely unreliable, as simply adding/removing chars from lines
>>>> before the functional expression would result in golden file
>>>> mismatches. This is extremely annoying when e.g. the jtreg header
>>>> of a test must be change for some reason (e.g. to add an extra bug
>>>> id).
>>>>
>>>> The solution is to use a more robust encoding with line:col - so
>>>> that there's less dependencies on what happens on previous lines.
>>>>
>>>> http://cr.openjdk.java.net/~mcimadamore/8172443/
>>>>
>>>> Cheers
>>>> Maurizio
>>>>
>>>
>>
>
More information about the compiler-dev
mailing list