--- a/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/TreeDiffer.java Mon Sep 09 11:43:16 2019 -0400
+++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/TreeDiffer.java Wed Nov 27 09:00:01 2019 +0100
@@ -35,6 +35,7 @@
import com.sun.tools.javac.tree.JCTree.JCAssign;
import com.sun.tools.javac.tree.JCTree.JCAssignOp;
import com.sun.tools.javac.tree.JCTree.JCBinary;
+import com.sun.tools.javac.tree.JCTree.JCBindingPattern;
import com.sun.tools.javac.tree.JCTree.JCBlock;
import com.sun.tools.javac.tree.JCTree.JCBreak;
import com.sun.tools.javac.tree.JCTree.JCCase;
@@ -253,6 +254,18 @@
}
@Override
+ public void visitBindingPattern(JCBindingPattern tree) {
+ JCBindingPattern that = (JCBindingPattern) parameter;
+ result =
+ scan(tree.vartype, that.vartype)
+ && tree.name == that.name;
+ if (!result) {
+ return;
+ }
+ equiv.put(tree.symbol, that.symbol);
+ }
+
+ @Override
public void visitBlock(JCBlock tree) {
JCBlock that = (JCBlock) parameter;
result = tree.flags == that.flags && scan(tree.stats, that.stats);
@@ -591,7 +604,7 @@
@Override
public void visitTypeTest(JCInstanceOf tree) {
JCInstanceOf that = (JCInstanceOf) parameter;
- result = scan(tree.expr, that.expr) && scan(tree.clazz, that.clazz);
+ result = scan(tree.expr, that.expr) && scan(tree.pattern, that.pattern);
}
@Override