On Mon, 15 Jul 2024 13:30:13 GMT, John Hendrikx <jhendr...@openjdk.org> wrote:

>> Fixes an infinite loop that can occur while resolving lookups.
>> 
>> There were 2 bugs:
>> - A `contains` check was done on some value X, but then a value Y was added 
>> to the set used to track duplicates
>> - The `Set` to track duplicates was cleared in some recursive calls, meaning 
>> that the caller (which may be processing multiple values in a loop) would 
>> end up with an empty set, losing track of what was visited so far
>> 
>> Also removed a redundant `null` check (an NPE would have occurred before it 
>> could reach that code).
>
> John Hendrikx has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   Fix formatting and spelling

A new `HashSet` is created for every base call to `resolveLookups`, but it is 
only used for state tracking. We could re-use the instance for subsequent calls.

-------------

PR Comment: https://git.openjdk.org/jfx/pull/1505#issuecomment-2229194479

Reply via email to