Skip to content
This repository was archived by the owner on Jul 16, 2023. It is now read-only.

Commit 9ac53f1

Browse files
authored
fix: make avoid-wrapping-in-padding trigger only on Container widget (#1008)
1 parent d7ec196 commit 9ac53f1

File tree

4 files changed

+10
-12
lines changed

4 files changed

+10
-12
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
# Changelog
22

3+
## 4.19.1
4+
5+
* fix: make [`avoid-wrapping-in-padding`](https://dartcodemetrics.dev/docs/rules/flutter/avoid-wrapping-in-padding) trigger only on Container widget.
6+
37
## 4.19.0
48

59
* feat: add static code diagnostic [`check-for-equals-in-render-object-setters`](https://dartcodemetrics.dev/docs/rules/flutter/check-for-equals-in-render-object-setters).

lib/src/analyzers/lint_analyzer/rules/rules_list/avoid_wrapping_in_padding/avoid_wrapping_in_padding_rule.dart

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
import 'package:analyzer/dart/ast/ast.dart';
44
import 'package:analyzer/dart/ast/visitor.dart';
5-
import 'package:analyzer/dart/element/element.dart';
65
import 'package:collection/collection.dart';
76

87
import '../../../../../utils/flutter_types_utils.dart';
@@ -19,8 +18,7 @@ part 'visitor.dart';
1918
class AvoidWrappingInPaddingRule extends FlutterRule {
2019
static const String ruleId = 'avoid-wrapping-in-padding';
2120

22-
static const _warning =
23-
'Avoid wrapping a widget with padding settings in a Padding widget.';
21+
static const _warning = 'Avoid wrapping a Container in a Padding widget.';
2422

2523
AvoidWrappingInPaddingRule([Map<String, Object> config = const {}])
2624
: super(

lib/src/analyzers/lint_analyzer/rules/rules_list/avoid_wrapping_in_padding/visitor.dart

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,10 @@ class _Visitor extends RecursiveAstVisitor<void> {
2323

2424
if (child != null && child is NamedExpression) {
2525
final expression = child.expression;
26-
if (expression is InstanceCreationExpression) {
27-
final element = expression.staticType?.element;
28-
if (element is ClassElement) {
29-
return element.fields
30-
.firstWhereOrNull((filed) => filed.name == 'padding') !=
31-
null;
32-
}
33-
}
26+
27+
return expression is InstanceCreationExpression &&
28+
expression.staticType?.getDisplayString(withNullability: false) ==
29+
'Container';
3430
}
3531

3632
return false;

test/src/analyzers/lint_analyzer/rules/rules_list/avoid_wrapping_in_padding/avoid_wrapping_in_padding_rule_test.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ void main() {
3333
' )',
3434
],
3535
messages: [
36-
'Avoid wrapping a widget with padding settings in a Padding widget.',
36+
'Avoid wrapping a Container in a Padding widget.',
3737
],
3838
);
3939
});

0 commit comments

Comments
 (0)