On Fri, 22 Apr 2022 19:10:38 GMT, Jonathan Gibbons <j...@openjdk.org> wrote:

> 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.

I think I'm mistaken: your version does all these things I thought it wasn't 
doing. What's the difference between it and Jan's version? Is it more 
responsive wrt termination when the target node is found?

src/jdk.compiler/share/classes/com/sun/source/util/TreePath.java line 69:

> 67: 
> 68:             @Override
> 69:             public TreePath scan(TreePath path, Tree docTree) {

The second parameter has nothing to do with `DocTree`. Copy-paste?

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

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

Reply via email to