diff -r 88502b1cf76f -r 7799a51dbe30 src/jdk.compiler/share/classes/com/sun/source/util/TreeScanner.java --- a/src/jdk.compiler/share/classes/com/sun/source/util/TreeScanner.java Mon Sep 09 11:43:16 2019 -0400 +++ b/src/jdk.compiler/share/classes/com/sun/source/util/TreeScanner.java Wed Nov 27 09:00:01 2019 +0100 @@ -667,7 +667,11 @@ @Override public R visitInstanceOf(InstanceOfTree node, P p) { R r = scan(node.getExpression(), p); - r = scanAndReduce(node.getType(), p, r); + if (node.getPattern() != null) { + r = scanAndReduce(node.getPattern(), p, r); + } else { + r = scanAndReduce(node.getType(), p, r); + } return r; } @@ -677,6 +681,19 @@ * @param node {@inheritDoc} * @param p {@inheritDoc} * @return the result of scanning + * @since 14 + */ + @Override + public R visitBindingPattern(BindingPatternTree node, P p) { + return scan(node.getType(), p); + } + + /** + * {@inheritDoc} This implementation scans the children in left to right order. + * + * @param node {@inheritDoc} + * @param p {@inheritDoc} + * @return the result of scanning */ @Override public R visitArrayAccess(ArrayAccessTree node, P p) {