src/jdk.compiler/share/classes/com/sun/tools/javac/comp/TreeDiffer.java
changeset 59285 7799a51dbe30
parent 55306 ea43db53de91
equal deleted inserted replaced
59284:88502b1cf76f 59285:7799a51dbe30
    33 import com.sun.tools.javac.tree.JCTree.JCArrayTypeTree;
    33 import com.sun.tools.javac.tree.JCTree.JCArrayTypeTree;
    34 import com.sun.tools.javac.tree.JCTree.JCAssert;
    34 import com.sun.tools.javac.tree.JCTree.JCAssert;
    35 import com.sun.tools.javac.tree.JCTree.JCAssign;
    35 import com.sun.tools.javac.tree.JCTree.JCAssign;
    36 import com.sun.tools.javac.tree.JCTree.JCAssignOp;
    36 import com.sun.tools.javac.tree.JCTree.JCAssignOp;
    37 import com.sun.tools.javac.tree.JCTree.JCBinary;
    37 import com.sun.tools.javac.tree.JCTree.JCBinary;
       
    38 import com.sun.tools.javac.tree.JCTree.JCBindingPattern;
    38 import com.sun.tools.javac.tree.JCTree.JCBlock;
    39 import com.sun.tools.javac.tree.JCTree.JCBlock;
    39 import com.sun.tools.javac.tree.JCTree.JCBreak;
    40 import com.sun.tools.javac.tree.JCTree.JCBreak;
    40 import com.sun.tools.javac.tree.JCTree.JCCase;
    41 import com.sun.tools.javac.tree.JCTree.JCCase;
    41 import com.sun.tools.javac.tree.JCTree.JCCatch;
    42 import com.sun.tools.javac.tree.JCTree.JCCatch;
    42 import com.sun.tools.javac.tree.JCTree.JCClassDecl;
    43 import com.sun.tools.javac.tree.JCTree.JCClassDecl;
   251                         && scan(tree.rhs, that.rhs)
   252                         && scan(tree.rhs, that.rhs)
   252                         && tree.operator == that.operator;
   253                         && tree.operator == that.operator;
   253     }
   254     }
   254 
   255 
   255     @Override
   256     @Override
       
   257     public void visitBindingPattern(JCBindingPattern tree) {
       
   258         JCBindingPattern that = (JCBindingPattern) parameter;
       
   259         result =
       
   260                 scan(tree.vartype, that.vartype)
       
   261                         && tree.name == that.name;
       
   262         if (!result) {
       
   263             return;
       
   264         }
       
   265         equiv.put(tree.symbol, that.symbol);
       
   266     }
       
   267 
       
   268     @Override
   256     public void visitBlock(JCBlock tree) {
   269     public void visitBlock(JCBlock tree) {
   257         JCBlock that = (JCBlock) parameter;
   270         JCBlock that = (JCBlock) parameter;
   258         result = tree.flags == that.flags && scan(tree.stats, that.stats);
   271         result = tree.flags == that.flags && scan(tree.stats, that.stats);
   259     }
   272     }
   260 
   273 
   589     }
   602     }
   590 
   603 
   591     @Override
   604     @Override
   592     public void visitTypeTest(JCInstanceOf tree) {
   605     public void visitTypeTest(JCInstanceOf tree) {
   593         JCInstanceOf that = (JCInstanceOf) parameter;
   606         JCInstanceOf that = (JCInstanceOf) parameter;
   594         result = scan(tree.expr, that.expr) && scan(tree.clazz, that.clazz);
   607         result = scan(tree.expr, that.expr) && scan(tree.pattern, that.pattern);
   595     }
   608     }
   596 
   609 
   597     @Override
   610     @Override
   598     public void visitTypeUnion(JCTypeUnion tree) {
   611     public void visitTypeUnion(JCTypeUnion tree) {
   599         JCTypeUnion that = (JCTypeUnion) parameter;
   612         JCTypeUnion that = (JCTypeUnion) parameter;