toAnalysisErrorFixes method

Future<AnalysisErrorFixes> toAnalysisErrorFixes({
  1. required DartAnalysisError error,
})

Implementation

Future<AnalysisErrorFixes> toAnalysisErrorFixes(
    {required DartAnalysisError error}) async {
  List<SourceChange> fixes = await getDartFixes(
    error.result,
    error.astNode,
  );

  if (addIgnoreForThisLineFix) {
    fixes.add(await ignoreForThisLine(
      resolvedUnitResult: error.result,
      ignore: error.ignoreInfo,
      code: code,
      location: error.location,
    ));
  }

  if (addIgnoreForThisFileFix) {
    fixes.add(await ignoreForThisFile(
      resolvedUnitResult: error.result,
      ignore: error.ignoreInfo,
    ));
  }

  fixes = fixes.reversed.toList();

  CandiesAnalyzerPluginLogger().log(
    'get ${fixes.length} fixes for lint($code) at ${error.result.path}',
    root: error.result.root,
  );

  return AnalysisErrorFixes(
    error,
    fixes: <PrioritizedSourceChange>[
      for (int i = 0; i < fixes.length; i++)
        PrioritizedSourceChange(i, fixes[i])
    ],
  );
}