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

Commit dbdc63e

Browse files
authored
fix: ignore method invocations in a variable declaration for prefer-moving-to-variable (#1144)
1 parent d58a3f1 commit dbdc63e

File tree

4 files changed

+19
-0
lines changed

4 files changed

+19
-0
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
* feat: exclude `.freezed.dart` files by default.
88
* fix: handle try and switch statements for [`use-setstate-synchronously`](https://dartcodemetrics.dev/docs/rules/flutter/use-setstate-synchronously)
99
* chore: restrict `analyzer` version to `>=5.1.0 <5.4.0`.
10+
* fix: ignore method invocations in a variable declaration for [`prefer-moving-to-variable`](https://dartcodemetrics.dev/docs/rules/common/prefer-moving-to-variable).
1011
* feat: add `allow-initialized` option to [`avoid-late-keyword`](https://dartcodemetrics.dev/docs/rules/common/avoid-late-keyword).
1112

1213
## 5.4.0

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@ class _BlockVisitor extends RecursiveAstVisitor<void> {
6161
@override
6262
void visitMethodInvocation(MethodInvocation node) {
6363
if (node.parent is CascadeExpression ||
64+
node.parent is VariableDeclaration ||
6465
(node.staticType?.isVoid ?? false)) {
6566
return;
6667
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
void main() {
2+
final var1 = someFunction();
3+
final var2 = someFunction();
4+
}
5+
6+
String someFunction() {
7+
return 'qwe';
8+
}

test/src/analyzers/lint_analyzer/rules/rules_list/prefer_moving_to_variable/prefer_moving_to_variable_rule_test.dart

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ const _cascadeExamplePath =
1515
'prefer_moving_to_variable/examples/cascade_example.dart';
1616
const _genericsExamplePath =
1717
'prefer_moving_to_variable/examples/generics_example.dart';
18+
const _assignmentExamplePath =
19+
'prefer_moving_to_variable/examples/assignment_example.dart';
1820
const _prefixExamplePath =
1921
'prefer_moving_to_variable/examples/prefix_example.dart';
2022

@@ -217,6 +219,13 @@ void main() {
217219
RuleTestHelper.verifyNoIssues(issues);
218220
});
219221

222+
test('reports no issues for assignments', () async {
223+
final unit = await RuleTestHelper.resolveFromFile(_assignmentExamplePath);
224+
final issues = PreferMovingToVariableRule().check(unit);
225+
226+
RuleTestHelper.verifyNoIssues(issues);
227+
});
228+
220229
test('reports no issues for generics', () async {
221230
final unit = await RuleTestHelper.resolveFromFile(_genericsExamplePath);
222231
final issues = PreferMovingToVariableRule().check(unit);

0 commit comments

Comments
 (0)