Class RemoveUnusedLocalVariableCodemod

java.lang.Object
io.codemodder.javaparser.JavaParserChanger
io.codemodder.providers.sonar.SonarPluginJavaParserChanger<com.github.javaparser.ast.body.VariableDeclarator,io.codemodder.sonar.model.Issue>
io.codemodder.codemods.RemoveUnusedLocalVariableCodemod
All Implemented Interfaces:
io.codemodder.CodeChanger, io.codemodder.FixOnlyCodeChanger

@Codemod(id="sonar:java/remove-unused-local-variable-s1481", reviewGuidance=MERGE_WITHOUT_REVIEW, importance=LOW, executionPriority=HIGH) public final class RemoveUnusedLocalVariableCodemod extends io.codemodder.providers.sonar.SonarPluginJavaParserChanger<com.github.javaparser.ast.body.VariableDeclarator,io.codemodder.sonar.model.Issue>
Codemod to remove unused local variables which expression is a variable or just a Literal expression like a single boolean, char, double, integer, long, null, string or a text block string. We are not considering create object expression, method call expressions, condition expressions, etc. because all of them have an expression node and that expression node could result in a method call expression where a process could be performed and deleting it could result on some unexpected behaviors.
  • Field Summary

    Fields inherited from class io.codemodder.providers.sonar.SonarPluginJavaParserChanger

    ruleFinding

    Fields inherited from class io.codemodder.javaparser.JavaParserChanger

    reporter
  • Constructor Summary

    Constructors
    Constructor
    Description
    RemoveUnusedLocalVariableCodemod(io.codemodder.providers.sonar.RuleIssue issues)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    io.codemodder.codetf.DetectorRule
     
    io.codemodder.javaparser.ChangesResult
    onFindingFound(io.codemodder.CodemodInvocationContext context, com.github.javaparser.ast.CompilationUnit cu, com.github.javaparser.ast.body.VariableDeclarator variableDeclarator, io.codemodder.sonar.model.Issue issue)
     

    Methods inherited from class io.codemodder.providers.sonar.SonarPluginJavaParserChanger

    supports, vendorName, visit

    Methods inherited from class io.codemodder.javaparser.JavaParserChanger

    getDescription, getIncludesExcludesPattern, getIndividualChangeDescription, getReferences, getSummary

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface io.codemodder.CodeChanger

    shouldRun
  • Constructor Details

    • RemoveUnusedLocalVariableCodemod

      @Inject public RemoveUnusedLocalVariableCodemod(@ProvidedSonarScan(ruleId="java:S1481") io.codemodder.providers.sonar.RuleIssue issues)
  • Method Details

    • onFindingFound

      public io.codemodder.javaparser.ChangesResult onFindingFound(io.codemodder.CodemodInvocationContext context, com.github.javaparser.ast.CompilationUnit cu, com.github.javaparser.ast.body.VariableDeclarator variableDeclarator, io.codemodder.sonar.model.Issue issue)
      Specified by:
      onFindingFound in class io.codemodder.providers.sonar.SonarPluginJavaParserChanger<com.github.javaparser.ast.body.VariableDeclarator,io.codemodder.sonar.model.Issue>
    • detectorRule

      public io.codemodder.codetf.DetectorRule detectorRule()