Class SonarPluginJavaParserChanger<T extends com.github.javaparser.ast.Node>

java.lang.Object
io.codemodder.javaparser.JavaParserChanger
io.codemodder.providers.sonar.SonarPluginJavaParserChanger<T>
All Implemented Interfaces:
io.codemodder.CodeChanger, io.codemodder.FixOnlyCodeChanger

public abstract class SonarPluginJavaParserChanger<T extends com.github.javaparser.ast.Node> extends io.codemodder.javaparser.JavaParserChanger implements io.codemodder.FixOnlyCodeChanger
Provides base functionality for making JavaParser-based changes based on Sonar results.
  • Field Summary

    Fields inherited from class io.codemodder.javaparser.JavaParserChanger

    reporter
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    protected
    SonarPluginJavaParserChanger(RuleIssues ruleIssues, Class<? extends com.github.javaparser.ast.Node> nodeType)
     
    protected
    SonarPluginJavaParserChanger(RuleIssues ruleIssues, Class<? extends com.github.javaparser.ast.Node> nodeType, io.codemodder.RegionNodeMatcher regionNodeMatcher, io.codemodder.CodemodReporterStrategy codemodReporterStrategy)
     
    protected
    SonarPluginJavaParserChanger(RuleIssues ruleIssues, Class<? extends com.github.javaparser.ast.Node> nodeType, io.codemodder.RegionNodeMatcher regionNodeMatcher, io.codemodder.NodeCollector nodeCollector)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    abstract io.codemodder.javaparser.ChangesResult
    onIssueFound(io.codemodder.CodemodInvocationContext context, com.github.javaparser.ast.CompilationUnit cu, T node, Issue issue)
    Creates a visitor for the given context and locations.
    boolean
     
     
    io.codemodder.CodemodFileScanningResult
    visit(io.codemodder.CodemodInvocationContext context, com.github.javaparser.ast.CompilationUnit cu)
     

    Methods inherited from class io.codemodder.javaparser.JavaParserChanger

    getDescription, 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.FixOnlyCodeChanger

    detectorRule
  • Constructor Details

    • SonarPluginJavaParserChanger

      protected SonarPluginJavaParserChanger(RuleIssues ruleIssues, Class<? extends com.github.javaparser.ast.Node> nodeType, io.codemodder.RegionNodeMatcher regionNodeMatcher, io.codemodder.NodeCollector nodeCollector)
    • SonarPluginJavaParserChanger

      protected SonarPluginJavaParserChanger(RuleIssues ruleIssues, Class<? extends com.github.javaparser.ast.Node> nodeType)
    • SonarPluginJavaParserChanger

      protected SonarPluginJavaParserChanger(RuleIssues ruleIssues, Class<? extends com.github.javaparser.ast.Node> nodeType, io.codemodder.RegionNodeMatcher regionNodeMatcher, io.codemodder.CodemodReporterStrategy codemodReporterStrategy)
  • Method Details

    • visit

      public io.codemodder.CodemodFileScanningResult visit(io.codemodder.CodemodInvocationContext context, com.github.javaparser.ast.CompilationUnit cu)
      Specified by:
      visit in class io.codemodder.javaparser.JavaParserChanger
    • shouldRun

      public boolean shouldRun()
      Specified by:
      shouldRun in interface io.codemodder.CodeChanger
    • onIssueFound

      public abstract io.codemodder.javaparser.ChangesResult onIssueFound(io.codemodder.CodemodInvocationContext context, com.github.javaparser.ast.CompilationUnit cu, T node, Issue issue)
      Creates a visitor for the given context and locations.
      Parameters:
      context - the context of this files transformation
      cu - the parsed model of the file being transformed
      node - the node to act on
      issue - the given Sonar issue to act on
      Returns:
      ChangesResult, that contains result changes
    • vendorName

      public String vendorName()
      Specified by:
      vendorName in interface io.codemodder.FixOnlyCodeChanger