RFR: JDK-8267690: Revisit (Doc)Tree search implemented by throwing an exception

Jonathan Gibbons jjg at openjdk.java.net
Fri Apr 22 19:17:56 UTC 2022

Please review a moderately simple cleanup change, to eliminate using an exception to terminate scanning a `Tree` or `DocTree` in `(Doc)TreePath.getPath`.

The change is to set a field with the intended result, and once that field is set, do "best-effort" to eliminate any addition scanning.

It is easy enough to stop scanning items in a list, but it is not practical to totally stop scanning the subsequent sibling nodes, but we can substantially reduce the cost of scanning those nodes, and can definitely avoid scanning any children of those nodes.


Commit messages:
 - minor tweak when scanning lists
 - JDK-8267690: Revisit (Doc)Tree search implemented by throwing an exception

Changes: https://git.openjdk.java.net/jdk/pull/8369/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=8369&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8267690
  Stats: 69 lines in 2 files changed: 26 ins; 9 del; 34 mod
  Patch: https://git.openjdk.java.net/jdk/pull/8369.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/8369/head:pull/8369

PR: https://git.openjdk.java.net/jdk/pull/8369

More information about the compiler-dev mailing list