diff --git a/pkg/linter/lib/src/rules/use_declaring_parameters.dart b/pkg/linter/lib/src/rules/use_declaring_parameters.dart index 8192004ed85..a642c32e867 100644 --- a/pkg/linter/lib/src/rules/use_declaring_parameters.dart +++ b/pkg/linter/lib/src/rules/use_declaring_parameters.dart @@ -64,6 +64,7 @@ class _Visitor extends SimpleAstVisitor { var field = parameterElement.field; if (field != null && (parameterHasNoType || field.type == parameterElement.type)) { + if (field.documentationComment != null) return; rule.reportAtToken(parameter.name); } } @@ -87,6 +88,7 @@ class _Visitor extends SimpleAstVisitor { var parameterElement = parameter.declaredFragment?.element; if (parameterElement != null && assignedField.type == parameterElement.type) { + if (assignedField.documentationComment != null) return; rule.reportAtToken(name); } } diff --git a/pkg/linter/test/rules/use_declaring_parameters_test.dart b/pkg/linter/test/rules/use_declaring_parameters_test.dart index aee8f915801..54666901279 100644 --- a/pkg/linter/test/rules/use_declaring_parameters_test.dart +++ b/pkg/linter/test/rules/use_declaring_parameters_test.dart @@ -49,6 +49,17 @@ class C(int? i) { '''); } + test_field_withComment() async { + await assertNoDiagnostics(r''' +class C(int i) { + /// A comment. + final int i; + + this : i = i; +} +'''); + } + test_fieldFormalParameter_differentType() async { await assertNoDiagnostics(r''' class C(int this.i) { @@ -73,6 +84,15 @@ class C(int this.[!i!]) { '''); } + test_fieldFormalParameter_withComment() async { + await assertNoDiagnostics(r''' +class C(int this.i) { + /// A comment. + int i; +} +'''); + } + test_finalPrivateField_requiredPositional() async { await assertDiagnosticsFromMarkdown(r''' class C(int [!i!]) {