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

Commit 6cd6b17

Browse files
authored
Merge 7d3f0ad into 85be501
2 parents 85be501 + 7d3f0ad commit 6cd6b17

File tree

12 files changed

+29
-15
lines changed

12 files changed

+29
-15
lines changed

CHANGELOG.md

+4-2
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,11 @@
22

33
## Unreleased
44

5-
* feat: add static code diagnostic [prefer-define-hero-tag](https://github.com/dart-code-checker/dart-code-metrics/issues/1027).
5+
* fix: handle dynamics in map literals for [`avoid-dynamic`](https://dcm.dev/docs/individuals/rules/common/avoid-dynamic).
6+
* fix: change anti-patterns default severity to `warning`.
7+
* feat: add static code diagnostic [`prefer-define-hero-tag`](https://dcm.dev/docs/individuals/rules/common/prefer-define-hero-tag).
68
* chore: restrict `analyzer` version to `>=5.1.0 <5.8.0`.
7-
* feat: add avoid-substring rule
9+
* feat: add static code diagnostic [`avoid-substring`](https://dcm.dev/docs/individuals/rules/common/avoid-substring).
810

911
## 5.6.0
1012

lib/src/analyzers/lint_analyzer/anti_patterns/anti_patterns_list/long_method.dart

+1-1
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ class LongMethod extends Pattern {
3434
),
3535
super(
3636
id: patternId,
37-
severity: readSeverity(patternSettings, Severity.none),
37+
severity: readSeverity(patternSettings, Severity.warning),
3838
excludes: readExcludes(patternSettings),
3939
);
4040

lib/src/analyzers/lint_analyzer/anti_patterns/anti_patterns_list/long_parameter_list.dart

+1-1
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ class LongParameterList extends Pattern {
3232
),
3333
super(
3434
id: patternId,
35-
severity: readSeverity(patternSettings, Severity.none),
35+
severity: readSeverity(patternSettings, Severity.warning),
3636
excludes: readExcludes(patternSettings),
3737
);
3838

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

+10-6
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,17 @@ class _Visitor extends RecursiveAstVisitor<void> {
1010
final parent = node.parent;
1111
if (parent is NamedType && (parent.type?.isDynamic ?? false)) {
1212
final grandParent = node.parent?.parent;
13-
if (grandParent != null) {
14-
final grandGrandParent = grandParent.parent;
15-
if (!(grandGrandParent is NamedType &&
16-
(grandGrandParent.type?.isDartCoreMap ?? false))) {
17-
_nodes.add(grandParent);
18-
}
13+
if (grandParent != null && !_isWithinMap(grandParent)) {
14+
_nodes.add(grandParent);
1915
}
2016
}
2117
}
18+
19+
bool _isWithinMap(AstNode grandParent) {
20+
final grandGrandParent = grandParent.parent;
21+
22+
return grandGrandParent is NamedType &&
23+
(grandGrandParent.type?.isDartCoreMap ?? false) ||
24+
grandGrandParent is SetOrMapLiteral && grandGrandParent.isMap;
25+
}
2226
}

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

+1
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ class _Visitor extends RecursiveAstVisitor<void> {
3838
!_isEmptyFutureOrType(type);
3939

4040
bool _isEmptyType(DartType type) =>
41+
// ignore: deprecated_member_use
4142
type.isBottom || type.isDartCoreNull || type.isVoid;
4243

4344
bool _isEmptyFutureType(DartType type) =>

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

+1
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,7 @@ class _ReturnVisitor extends RecursiveAstVisitor<void> {
9797

9898
final type = node.expression?.staticType;
9999

100+
// ignore: deprecated_member_use
100101
if (type == null || type.isVoid) {
101102
_hasValidReturn = true;
102103
}

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

+1
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@ class _BlockVisitor extends RecursiveAstVisitor<void> {
6262
void visitMethodInvocation(MethodInvocation node) {
6363
if (node.parent is CascadeExpression ||
6464
node.parent is VariableDeclaration ||
65+
// ignore: deprecated_member_use
6566
(node.staticType?.isVoid ?? false)) {
6667
return;
6768
}

pubspec.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ platforms:
1515
macos:
1616

1717
dependencies:
18-
analyzer: ">=5.1.0 <5.8.0"
18+
analyzer: ">=5.1.0 <5.9.0"
1919
analyzer_plugin: ">=0.11.0 <0.12.0"
2020
ansicolor: ^2.0.1
2121
args: ^2.0.0

test/src/analyzers/lint_analyzer/anti_patterns/anti_patterns_list/long_method/long_method_test.dart

+1-1
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ void main() {
5555
AntiPatternTestHelper.verifyInitialization(
5656
issues: issues,
5757
antiPatternId: 'long-method',
58-
severity: Severity.none,
58+
severity: Severity.warning,
5959
);
6060

6161
AntiPatternTestHelper.verifyIssues(

test/src/analyzers/lint_analyzer/anti_patterns/anti_patterns_list/long_parameter_list/long_parameter_list_test.dart

+1-1
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ void main() {
5353
AntiPatternTestHelper.verifyInitialization(
5454
issues: issues,
5555
antiPatternId: 'long-parameter-list',
56-
severity: Severity.none,
56+
severity: Severity.warning,
5757
);
5858

5959
AntiPatternTestHelper.verifyIssues(

test/src/analyzers/lint_analyzer/rules/rules_list/avoid_dynamic/avoid_dynamic_rule_test.dart

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ void main() {
2525

2626
RuleTestHelper.verifyIssues(
2727
issues: issues,
28-
startLines: [2, 6, 10, 10, 10, 12, 23, 28, 31, 38],
28+
startLines: [2, 6, 10, 10, 10, 12, 23, 28, 31, 39],
2929
startColumns: [3, 4, 1, 22, 33, 7, 3, 3, 3, 32],
3030
locationTexts: [
3131
'dynamic s = 1',

test/src/analyzers/lint_analyzer/rules/rules_list/avoid_dynamic/examples/example.dart

+6-1
Original file line numberDiff line numberDiff line change
@@ -35,4 +35,9 @@ class SomeClass {
3535

3636
abstract class BaseClass<T> {}
3737

38-
class Generic extends BaseClass<dynamic> {} // LINT
38+
// LINT
39+
class Generic extends BaseClass<dynamic> {
40+
final Map<String, dynamic> myMap = {};
41+
42+
final myMap = <String, dynamic>{};
43+
}

0 commit comments

Comments
 (0)