recordOverride function

void recordOverride({
  1. required String rootPath,
  2. required String ruleId,
  3. required String filePath,
  4. required int line,
  5. required int column,
  6. required String fingerprint,
})

Append one override entry to the side-channel file. Best-effort: a failed write just means the reporter falls back to the default fingerprint for that diagnostic.

Implementation

void recordOverride({
  required String rootPath,
  required String ruleId,
  required String filePath,
  required int line,
  required int column,
  required String fingerprint,
}) {
  final file = _overridesFileFor(rootPath);
  final entry = jsonEncode({
    'ruleId': ruleId,
    'filePath': filePath,
    'line': line,
    'column': column,
    'fingerprint': fingerprint,
  });
  try {
    file.parent.createSync(recursive: true);
    // Append mode keeps concurrent rule isolates from clobbering each other.
    file.writeAsStringSync('$entry\n', mode: FileMode.append, flush: true);
  } catch (_) {
    // Ignore: missing override → default fingerprint.
  }
}