On Mon, 25 Apr 2022 19:03:35 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 additional 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.
>
> Jonathan Gibbons has updated the pull request incrementally with one 
> additional commit since the last revision:
> 
>   improve parameter naming for internal `PathFinder` classes

Thanks for the references to other candidates.

* com.sun.tools.javac.tree.TreeInfo#pathFor seems to be dead code

* com.sun.tools.javac.tree.TreeInfo#containsTypeAnnotation not a path finder, 
and looks like only called on small trees

* jdk.jshell.ExpressionToTypeInfo#findExpressionPath does seem to be another 
candidate for this work, but could/should be done separately

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

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

Reply via email to