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). ------------- Commit messages: - Fix loop detection in resolveLookups Changes: https://git.openjdk.org/jfx/pull/1505/files Webrev: https://webrevs.openjdk.org/?repo=jfx&pr=1505&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8336389 Stats: 63 lines in 2 files changed: 49 ins; 10 del; 4 mod Patch: https://git.openjdk.org/jfx/pull/1505.diff Fetch: git fetch https://git.openjdk.org/jfx.git pull/1505/head:pull/1505 PR: https://git.openjdk.org/jfx/pull/1505