Skip to content

Commit a16f481

Browse files
FMorschelCommit Queue
authored andcommitted
[DAS] Fixes ignore_for_file fix when documentation comments in first line
Fixes: #61892 Change-Id: Ia4b21162f6c231c5fc456457de32a30612c1cfe9 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/459320 Reviewed-by: Samuel Rawlins <[email protected]> Reviewed-by: Brian Wilkerson <[email protected]> Commit-Queue: Brian Wilkerson <[email protected]>
1 parent e2cfee0 commit a16f481

File tree

2 files changed

+26
-0
lines changed

2 files changed

+26
-0
lines changed

pkg/analysis_server/test/src/services/correction/fix/ignore_diagnostic_test.dart

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -204,6 +204,23 @@ void f() {
204204
await assertHasFix('''
205205
// ignore_for_file: unused_local_variable
206206
207+
void f() {
208+
var a = 1;
209+
}
210+
''');
211+
}
212+
213+
Future<void> test_docCommentsAtStart() async {
214+
await resolveTestCode('''
215+
/// some comment
216+
void f() {
217+
var a = 1;
218+
}
219+
''');
220+
await assertHasFix('''
221+
// ignore_for_file: unused_local_variable
222+
223+
/// some comment
207224
void f() {
208225
var a = 1;
209226
}

pkg/analysis_server_plugin/lib/src/correction/ignore_diagnostic.dart

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
import 'package:analysis_server_plugin/edit/dart/correction_producer.dart';
66
import 'package:analysis_server_plugin/edit/dart/dart_fix_kind_priority.dart';
7+
import 'package:analyzer/dart/ast/ast.dart';
78
import 'package:analyzer/diagnostic/diagnostic.dart';
89
import 'package:analyzer/file_system/file_system.dart';
910
import 'package:analyzer/src/dart/analysis/analysis_options.dart';
@@ -174,6 +175,14 @@ class IgnoreDiagnosticInFile extends _DartIgnoreDiagnostic {
174175
continue;
175176
}
176177

178+
if (utils.findNode(lineStart) case var node?) {
179+
var unitMember = node.thisOrAncestorOfType<CompilationUnitMember>();
180+
var reference = unitMember?.documentationComment ?? node;
181+
lineStart = reference.offset;
182+
// Found code with possible doc-comment; insert before that.
183+
break;
184+
}
185+
177186
// We found some code.
178187
break;
179188
}

0 commit comments

Comments
 (0)