diff --git a/pkg/analysis_server/lib/src/services/correction/dart/ignore_diagnostic.dart b/pkg/analysis_server/lib/src/services/correction/dart/ignore_diagnostic.dart index 751d305d68f..7ce6b4b7dcd 100644 --- a/pkg/analysis_server/lib/src/services/correction/dart/ignore_diagnostic.dart +++ b/pkg/analysis_server/lib/src/services/correction/dart/ignore_diagnostic.dart @@ -97,8 +97,9 @@ class IgnoreDiagnosticOnLine extends AbstractIgnoreDiagnostic { Future compute(ChangeBuilder builder) async { if (_isCodeUnignorable()) return; + final diagnostic = this.diagnostic!; // Enforced by _isCodeUnignorable final insertDesc = CorrectionUtils_InsertDesc(); - insertDesc.offset = node.offset; + insertDesc.offset = diagnostic.problemMessage.offset; await _computeEdit( builder, insertDesc, diff --git a/pkg/analysis_server/test/src/services/correction/fix/ignore_diagnostic_test.dart b/pkg/analysis_server/test/src/services/correction/fix/ignore_diagnostic_test.dart index fb9e946bc9b..f86c8e4a230 100644 --- a/pkg/analysis_server/test/src/services/correction/fix/ignore_diagnostic_test.dart +++ b/pkg/analysis_server/test/src/services/correction/fix/ignore_diagnostic_test.dart @@ -148,6 +148,18 @@ void f() { '''); } + Future test_dartdoc_getter() async { + await resolveTestCode(''' +/// AA +String get _AA => ''; +'''); + await assertHasFix(''' +/// AA +// ignore: unused_element +String get _AA => ''; +'''); + } + Future test_existingIgnore() async { await resolveTestCode(''' void f() {