handleEditGetFixes method

  1. @override
Future<EditGetFixesResult> handleEditGetFixes(
  1. EditGetFixesParams parameters
)
override

Handle an 'edit.getFixes' request.

Throw a RequestFailure if the request could not be handled.

Implementation

@override
Future<plugin.EditGetFixesResult> handleEditGetFixes(plugin.EditGetFixesParams parameters) async {
  try {
    var path = parameters.file;
    var offset = parameters.offset;
    var analysisResult = await getResolvedUnitResult(path);

    var issueNeedFix = locateIssueAtGivenOffset(offset, analysisResult);
    final errorFixes = <AnalysisErrorFixes>[];
    if (issueNeedFix != null) {
      errorFixes.addAll(codeIssueToAnalysisErrorFixes([issueNeedFix], analysisResult));
    }

    return plugin.EditGetFixesResult(errorFixes);
  } on Exception catch (e, stackTrace) {
    channel.sendNotification(plugin.PluginErrorParams(false, e.toString(), stackTrace.toString()).toNotification());

    return plugin.EditGetFixesResult([]);
  }
}