test_class.file: code-assert/src/test/java/guru/nidi/codeassert/detekt/DetektAnalyzerTest.java
test_class.identifier: DetektAnalyzerTest
test_case.body: @Test
      void analyze() {
          final DetektResult result = new DetektAnalyzer(AnalyzerConfig.maven(KOTLIN).mainAndTest(), new DetektCollector()
                  .just(In.classes("Linker").ignore("MaxLineLength")))
                  .analyze();
          assertMatcher(""
                          + line(Style, "style", "NewLineAtEndOfFile", "Linker", 59, "Checks whether files end with a line separator."),
                  result, hasNoDetektIssues());
      }
test_case.class_method_signature: DetektAnalyzerTest.analyze()
test_case.full_signature: @Test void analyze()
test_case.identifier: analyze
test_case.invocations: analyze mainAndTest maven just ignore classes assertMatcher line hasNoDetektIssues
test_case.modifiers: @Test
test_case.parameters: ()
test_case.return: void
test_case.signature: void analyze()
focal_class.declarator: LOG = LoggerFactory.getLogger(DetektAnalyzer.class)
focal_class.modifier: private static final
focal_class.original_string: private static final Logger LOG = LoggerFactory.getLogger(DetektAnalyzer.class);
focal_class.type: Logger
focal_class.var_name: LOG
focal_class.declarator: SEVERITIES = asList(
              Style, CodeSmell, Minor, Performance, Maintainability, Warning, Security, Defect)
focal_class.modifier: private static final
focal_class.original_string: private static final List<Severity> SEVERITIES = asList(
              Style, CodeSmell, Minor, Performance, Maintainability, Warning, Security, Defect);
focal_class.type: List<Severity>
focal_class.var_name: SEVERITIES
focal_class.declarator: SEVERITY_COMPARATOR = Comparator.comparingInt(SEVERITIES::indexOf)
focal_class.modifier: private static final
focal_class.original_string: private static final Comparator<Severity> SEVERITY_COMPARATOR = Comparator.comparingInt(SEVERITIES::indexOf);
focal_class.type: Comparator<Severity>
focal_class.var_name: SEVERITY_COMPARATOR
focal_class.declarator: FINDING_COMPARATOR = Comparator
              .comparing((TypedDetektFinding f) -> f.severity, SEVERITY_COMPARATOR)
              .thenComparing(f -> f.type)
              .thenComparing(f -> f.name)
focal_class.modifier: private static final
focal_class.original_string: private static final Comparator<TypedDetektFinding> FINDING_COMPARATOR = Comparator
              .comparing((TypedDetektFinding f) -> f.severity, SEVERITY_COMPARATOR)
              .thenComparing(f -> f.type)
              .thenComparing(f -> f.name);
focal_class.type: Comparator<TypedDetektFinding>
focal_class.var_name: FINDING_COMPARATOR
focal_class.declarator: config
focal_class.modifier: private final
focal_class.original_string: private final AnalyzerConfig config;
focal_class.type: AnalyzerConfig
focal_class.var_name: config
focal_class.declarator: collector
focal_class.modifier: private final
focal_class.original_string: private final DetektCollector collector;
focal_class.type: DetektCollector
focal_class.var_name: collector
focal_class.declarator: detektConfig
focal_class.modifier: private final
focal_class.original_string: private final Config detektConfig;
focal_class.type: Config
focal_class.var_name: detektConfig
focal_class.declarator: ruleSetProviders
focal_class.modifier: private final
focal_class.original_string: private final List<RuleSetProvider> ruleSetProviders;
focal_class.type: List<RuleSetProvider>
focal_class.var_name: ruleSetProviders
focal_class.file: code-assert/src/main/java/guru/nidi/codeassert/detekt/DetektAnalyzer.java
focal_class.identifier: DetektAnalyzer
focal_class.interfaces: implements Analyzer<List<TypedDetektFinding>>
focal_class.class_method_signature: DetektAnalyzer.DetektAnalyzer(AnalyzerConfig config, DetektCollector collector)
focal_class.full_signature: public  DetektAnalyzer(AnalyzerConfig config, DetektCollector collector)
focal_class.identifier: DetektAnalyzer
focal_class.modifiers: public
focal_class.parameters: (AnalyzerConfig config, DetektCollector collector)
focal_class.signature:  DetektAnalyzer(AnalyzerConfig config, DetektCollector collector)
focal_class.class_method_signature: DetektAnalyzer.DetektAnalyzer(AnalyzerConfig config, DetektCollector collector, Config detektConfig,
                             List<RuleSetProvider> ruleSetProviders)
focal_class.full_signature: private  DetektAnalyzer(AnalyzerConfig config, DetektCollector collector, Config detektConfig,
                             List<RuleSetProvider> ruleSetProviders)
focal_class.identifier: DetektAnalyzer
focal_class.modifiers: private
focal_class.parameters: (AnalyzerConfig config, DetektCollector collector, Config detektConfig,
                             List<RuleSetProvider> ruleSetProviders)
focal_class.signature:  DetektAnalyzer(AnalyzerConfig config, DetektCollector collector, Config detektConfig,
                             List<RuleSetProvider> ruleSetProviders)
focal_class.class_method_signature: DetektAnalyzer.withConfig(Config detektConfig)
focal_class.full_signature: public DetektAnalyzer withConfig(Config detektConfig)
focal_class.identifier: withConfig
focal_class.modifiers: public
focal_class.parameters: (Config detektConfig)
focal_class.return: DetektAnalyzer
focal_class.signature: DetektAnalyzer withConfig(Config detektConfig)
focal_class.class_method_signature: DetektAnalyzer.withRuleSets(RuleSetProvider... providers)
focal_class.full_signature: public DetektAnalyzer withRuleSets(RuleSetProvider... providers)
focal_class.identifier: withRuleSets
focal_class.modifiers: public
focal_class.parameters: (RuleSetProvider... providers)
focal_class.return: DetektAnalyzer
focal_class.signature: DetektAnalyzer withRuleSets(RuleSetProvider... providers)
focal_class.class_method_signature: DetektAnalyzer.analyze()
focal_class.full_signature: public DetektResult analyze()
focal_class.identifier: analyze
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: DetektResult
focal_class.signature: DetektResult analyze()
focal_class.class_method_signature: DetektAnalyzer.calcDetektConfig()
focal_class.full_signature: private Config calcDetektConfig()
focal_class.identifier: calcDetektConfig
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: Config
focal_class.signature: Config calcDetektConfig()
focal_class.class_method_signature: DetektAnalyzer.ruleSetProviders(ProcessingSettings settings)
focal_class.full_signature: private List<RuleSetProvider> ruleSetProviders(ProcessingSettings settings)
focal_class.identifier: ruleSetProviders
focal_class.modifiers: private
focal_class.parameters: (ProcessingSettings settings)
focal_class.return: List<RuleSetProvider>
focal_class.signature: List<RuleSetProvider> ruleSetProviders(ProcessingSettings settings)
focal_class.class_method_signature: DetektAnalyzer.createResult(File baseDir, Detektion detektion)
focal_class.full_signature: private DetektResult createResult(File baseDir, Detektion detektion)
focal_class.identifier: createResult
focal_class.modifiers: private
focal_class.parameters: (File baseDir, Detektion detektion)
focal_class.return: DetektResult
focal_class.signature: DetektResult createResult(File baseDir, Detektion detektion)
focal_method.body: public DetektResult analyze() {
          final File baseDir = new File(AnalyzerConfig.Path.commonBase(config.getSourcePaths(KOTLIN)).getPath());
          try {
              final PrintStream printStream = new PrintStream(new LoggingOutputStream(), true, "utf-8");
              final ProcessingSettings settings = new ProcessingSettings(
                      singletonList(baseDir.toPath()), calcDetektConfig(), null, false, false, emptyList(), emptyList(),
                      LanguageVersion.KOTLIN_1_3, JvmTarget.JVM_1_8, Executors.newSingleThreadExecutor(),
                      printStream, printStream, false, false, emptyList());
              final DetektFacade df = DetektFacade.Companion.create(settings, ruleSetProviders(settings), emptyList());
              return createResult(baseDir, df.run());
          } catch (UnsupportedEncodingException e) {
              //cannot happen
              throw new AssertionError(e);
          }
      }
focal_method.class_method_signature: DetektAnalyzer.analyze()
focal_method.full_signature: public DetektResult analyze()
focal_method.identifier: analyze
focal_method.invocations: getPath commonBase getSourcePaths singletonList toPath calcDetektConfig emptyList emptyList newSingleThreadExecutor emptyList create ruleSetProviders emptyList createResult run
focal_method.modifiers: public
focal_method.parameters: ()
focal_method.return: DetektResult
focal_method.signature: DetektResult analyze()