test/langtools/tools/javac/tree/TreePosTest.java
changeset 51563 de411d537aae
parent 47216 71c04702a3d5
equal deleted inserted replaced
51562:1b1bca603244 51563:de411d537aae
    67 import javax.tools.Diagnostic;
    67 import javax.tools.Diagnostic;
    68 import javax.tools.DiagnosticListener;
    68 import javax.tools.DiagnosticListener;
    69 import javax.tools.JavaFileObject;
    69 import javax.tools.JavaFileObject;
    70 import javax.tools.StandardJavaFileManager;
    70 import javax.tools.StandardJavaFileManager;
    71 
    71 
       
    72 import com.sun.source.tree.CaseTree.CaseKind;
    72 import com.sun.source.tree.CompilationUnitTree;
    73 import com.sun.source.tree.CompilationUnitTree;
    73 import com.sun.source.util.JavacTask;
    74 import com.sun.source.util.JavacTask;
    74 import com.sun.tools.javac.api.JavacTool;
    75 import com.sun.tools.javac.api.JavacTool;
    75 import com.sun.tools.javac.code.Flags;
    76 import com.sun.tools.javac.code.Flags;
    76 import com.sun.tools.javac.tree.EndPosTable;
    77 import com.sun.tools.javac.tree.EndPosTable;
    77 import com.sun.tools.javac.tree.JCTree;
    78 import com.sun.tools.javac.tree.JCTree;
    78 import com.sun.tools.javac.tree.JCTree.JCAnnotatedType;
    79 import com.sun.tools.javac.tree.JCTree.JCAnnotatedType;
       
    80 import com.sun.tools.javac.tree.JCTree.JCCase;
    79 import com.sun.tools.javac.tree.JCTree.JCCompilationUnit;
    81 import com.sun.tools.javac.tree.JCTree.JCCompilationUnit;
    80 import com.sun.tools.javac.tree.JCTree.JCNewClass;
    82 import com.sun.tools.javac.tree.JCTree.JCNewClass;
    81 import com.sun.tools.javac.tree.JCTree.JCVariableDecl;
    83 import com.sun.tools.javac.tree.JCTree.JCVariableDecl;
    82 import com.sun.tools.javac.tree.TreeInfo;
    84 import com.sun.tools.javac.tree.TreeInfo;
    83 import com.sun.tools.javac.tree.TreeScanner;
    85 import com.sun.tools.javac.tree.TreeScanner;
   438                 }
   440                 }
   439             } else
   441             } else
   440                 super.visitVarDef(tree);
   442                 super.visitVarDef(tree);
   441         }
   443         }
   442 
   444 
       
   445         @Override
       
   446         public void visitCase(JCCase tree) {
       
   447             if (tree.getCaseKind() == CaseKind.RULE) {
       
   448                 scan(tree.getBody());
       
   449             } else {
       
   450                 super.visitCase(tree);
       
   451             }
       
   452         }
       
   453 
   443         boolean check(Info encl, Info self) {
   454         boolean check(Info encl, Info self) {
   444             if (excludeTags.size() > 0) {
   455             if (excludeTags.size() > 0) {
   445                 if (encl != null && excludeTags.contains(getTagName(encl.tag))
   456                 if (encl != null && excludeTags.contains(getTagName(encl.tag))
   446                         || excludeTags.contains(getTagName(self.tag)))
   457                         || excludeTags.contains(getTagName(self.tag)))
   447                     return false;
   458                     return false;