Class RemoveUnusedImports


  • public class RemoveUnusedImports
    extends java.lang.Object
    Removes unused imports from a source file. Imports that are only used in javadoc are also removed, and the references in javadoc are replaced with fully qualified names.
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      private static java.lang.String applyReplacements​(java.lang.String source, com.google.common.collect.RangeMap<java.lang.Integer,​java.lang.String> replacements)
      Applies the replacements to the given source, and re-format any edited javadoc.
      private static com.google.common.collect.RangeMap<java.lang.Integer,​java.lang.String> buildReplacements​(java.lang.String contents, com.sun.tools.javac.tree.JCTree.JCCompilationUnit unit, java.util.Set<java.lang.String> usedNames, com.google.common.collect.Multimap<java.lang.String,​com.google.common.collect.Range<java.lang.Integer>> usedInJavadoc)
      Construct replacements to fix unused imports.
      private static com.sun.tools.javac.tree.JCTree.JCFieldAccess getQualifiedIdentifier​(com.sun.tools.javac.tree.JCTree importTree)  
      private static java.lang.String getSimpleName​(com.sun.tools.javac.tree.JCTree importTree)  
      private static boolean isUnused​(com.sun.tools.javac.tree.JCTree.JCCompilationUnit unit, java.util.Set<java.lang.String> usedNames, com.google.common.collect.Multimap<java.lang.String,​com.google.common.collect.Range<java.lang.Integer>> usedInJavadoc, com.sun.tools.javac.tree.JCTree importTree, java.lang.String simpleName)  
      private static com.sun.tools.javac.tree.JCTree.JCCompilationUnit parse​(com.sun.tools.javac.util.Context context, java.lang.String javaInput)  
      static java.lang.String removeUnusedImports​(java.lang.String contents)  
      • Methods inherited from class java.lang.Object

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

      • RemoveUnusedImports

        public RemoveUnusedImports()
    • Method Detail

      • parse

        private static com.sun.tools.javac.tree.JCTree.JCCompilationUnit parse​(com.sun.tools.javac.util.Context context,
                                                                               java.lang.String javaInput)
                                                                        throws FormatterException
        Throws:
        FormatterException
      • buildReplacements

        private static com.google.common.collect.RangeMap<java.lang.Integer,​java.lang.String> buildReplacements​(java.lang.String contents,
                                                                                                                      com.sun.tools.javac.tree.JCTree.JCCompilationUnit unit,
                                                                                                                      java.util.Set<java.lang.String> usedNames,
                                                                                                                      com.google.common.collect.Multimap<java.lang.String,​com.google.common.collect.Range<java.lang.Integer>> usedInJavadoc)
        Construct replacements to fix unused imports.
      • getSimpleName

        private static java.lang.String getSimpleName​(com.sun.tools.javac.tree.JCTree importTree)
      • isUnused

        private static boolean isUnused​(com.sun.tools.javac.tree.JCTree.JCCompilationUnit unit,
                                        java.util.Set<java.lang.String> usedNames,
                                        com.google.common.collect.Multimap<java.lang.String,​com.google.common.collect.Range<java.lang.Integer>> usedInJavadoc,
                                        com.sun.tools.javac.tree.JCTree importTree,
                                        java.lang.String simpleName)
      • getQualifiedIdentifier

        private static com.sun.tools.javac.tree.JCTree.JCFieldAccess getQualifiedIdentifier​(com.sun.tools.javac.tree.JCTree importTree)
      • applyReplacements

        private static java.lang.String applyReplacements​(java.lang.String source,
                                                          com.google.common.collect.RangeMap<java.lang.Integer,​java.lang.String> replacements)
        Applies the replacements to the given source, and re-format any edited javadoc.