All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.walkmod.sonar.visitors.RemoveUselessImports Maven / Gradle / Ivy

package org.walkmod.sonar.visitors;

import java.util.List;

import org.walkmod.javalang.ast.ImportDeclaration;
import org.walkmod.javalang.ast.SymbolReference;
import org.walkmod.javalang.compiler.symbols.RequiresSemanticAnalysis;
import org.walkmod.javalang.visitors.VoidVisitorAdapter;
import org.walkmod.walkers.VisitorContext;

@RequiresSemanticAnalysis
public class RemoveUselessImports extends VoidVisitorAdapter {

   @Override
   public void visit(ImportDeclaration id, VisitorContext ctx) {
      List references = id.getUsages();
      if (!id.isNewNode()) {
         if (references == null || references.isEmpty()) {
            id.remove();
         } else {
            super.visit(id, ctx);
         }
      }
   }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy