Class RemoveUnusedImports.UnusedImportScanner

  • All Implemented Interfaces:
    com.sun.source.tree.TreeVisitor<java.lang.Void,​java.lang.Void>
    Enclosing class:
    RemoveUnusedImports

    private static class RemoveUnusedImports.UnusedImportScanner
    extends com.sun.source.util.TreePathScanner<java.lang.Void,​java.lang.Void>
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      private UnusedImportScanner​(com.sun.tools.javac.api.JavacTrees trees)  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      private static java.lang.reflect.Method caseTreeGetLabels()  
      java.lang.Void scan​(com.sun.source.tree.Tree tree, java.lang.Void unused)  
      private void scanJavadoc()  
      java.lang.Void visitCase​(com.sun.source.tree.CaseTree tree, java.lang.Void unused)  
      java.lang.Void visitIdentifier​(com.sun.source.tree.IdentifierTree tree, java.lang.Void unused)  
      java.lang.Void visitImport​(com.sun.source.tree.ImportTree importTree, java.lang.Void usedSymbols)
      Skip the imports themselves when checking for usage.
      • Methods inherited from class com.sun.source.util.TreePathScanner

        getCurrentPath, scan
      • Methods inherited from class com.sun.source.util.TreeScanner

        reduce, scan, visitAnnotatedType, visitAnnotation, visitArrayAccess, visitArrayType, visitAssert, visitAssignment, visitBinary, visitBlock, visitBreak, visitCatch, visitClass, visitCompilationUnit, visitCompoundAssignment, visitConditionalExpression, visitContinue, visitDoWhileLoop, visitEmptyStatement, visitEnhancedForLoop, visitErroneous, visitExports, visitExpressionStatement, visitForLoop, visitIf, visitInstanceOf, visitIntersectionType, visitLabeledStatement, visitLambdaExpression, visitLiteral, visitMemberReference, visitMemberSelect, visitMethod, visitMethodInvocation, visitModifiers, visitModule, visitNewArray, visitNewClass, visitOpens, visitOther, visitPackage, visitParameterizedType, visitParenthesized, visitPrimitiveType, visitProvides, visitRequires, visitReturn, visitSwitch, visitSynchronized, visitThrow, visitTry, visitTypeCast, visitTypeParameter, visitUnary, visitUnionType, visitUses, visitVariable, visitWhileLoop, visitWildcard
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • usedNames

        private final java.util.Set<java.lang.String> usedNames
      • usedInJavadoc

        private final com.google.common.collect.Multimap<java.lang.String,​com.google.common.collect.Range<java.lang.Integer>> usedInJavadoc
      • trees

        final com.sun.tools.javac.api.JavacTrees trees
      • CASE_TREE_GET_LABELS

        private static final java.lang.reflect.Method CASE_TREE_GET_LABELS
    • Constructor Detail

      • UnusedImportScanner

        private UnusedImportScanner​(com.sun.tools.javac.api.JavacTrees trees)
    • Method Detail

      • visitImport

        public java.lang.Void visitImport​(com.sun.source.tree.ImportTree importTree,
                                          java.lang.Void usedSymbols)
        Skip the imports themselves when checking for usage.
        Specified by:
        visitImport in interface com.sun.source.tree.TreeVisitor<java.lang.Void,​java.lang.Void>
        Overrides:
        visitImport in class com.sun.source.util.TreeScanner<java.lang.Void,​java.lang.Void>
      • visitIdentifier

        public java.lang.Void visitIdentifier​(com.sun.source.tree.IdentifierTree tree,
                                              java.lang.Void unused)
        Specified by:
        visitIdentifier in interface com.sun.source.tree.TreeVisitor<java.lang.Void,​java.lang.Void>
        Overrides:
        visitIdentifier in class com.sun.source.util.TreeScanner<java.lang.Void,​java.lang.Void>
      • visitCase

        public java.lang.Void visitCase​(com.sun.source.tree.CaseTree tree,
                                        java.lang.Void unused)
        Specified by:
        visitCase in interface com.sun.source.tree.TreeVisitor<java.lang.Void,​java.lang.Void>
        Overrides:
        visitCase in class com.sun.source.util.TreeScanner<java.lang.Void,​java.lang.Void>
      • caseTreeGetLabels

        private static java.lang.reflect.Method caseTreeGetLabels()
      • scan

        public java.lang.Void scan​(com.sun.source.tree.Tree tree,
                                   java.lang.Void unused)
        Overrides:
        scan in class com.sun.source.util.TreePathScanner<java.lang.Void,​java.lang.Void>
      • scanJavadoc

        private void scanJavadoc()