correctionMessage method

  1. @override
String correctionMessage(
  1. List<Diagnostic> diagnostics
)

Text to display upon failure, which indicates possible corrections.

Implementation

@override
String correctionMessage(List<Diagnostic> diagnostics) {
  var buffer = StringBuffer();
  diagnostics.sort((first, second) => first.offset.compareTo(second.offset));
  buffer.writeln();
  buffer.writeln('To accept the current state, expect:');
  for (var actual in diagnostics) {
    if (actual.diagnosticCode is LintCode) {
      buffer.write('  lint(');
    } else {
      buffer.write('  error(${actual.diagnosticCode}, ');
    }
    buffer.write('${actual.offset}, ${actual.length}');
    if (actual.diagnosticCode.name != _analysisRule) {
      buffer.write(", name: '${actual.diagnosticCode.name}'");
    }
    buffer.writeln('),');
  }

  return buffer.toString();
}