diff --git a/pkg/analysis_server/lib/src/services/correction/assist_internal.dart b/pkg/analysis_server/lib/src/services/correction/assist_internal.dart index bb6726d1c2a..376e4140cb4 100644 --- a/pkg/analysis_server/lib/src/services/correction/assist_internal.dart +++ b/pkg/analysis_server/lib/src/services/correction/assist_internal.dart @@ -362,6 +362,11 @@ class AssistProcessor { // prepare expression Expression expression = expressionStatement.expression; int offset = expression.offset; + // ignore if in arguments + if (node.getAncestor((node) => node is ArgumentList) != null) { + _coverageMarker(); + return; + } // ignore if already assignment if (expression is AssignmentExpression) { _coverageMarker(); diff --git a/pkg/analysis_server/test/services/correction/assist_test.dart b/pkg/analysis_server/test/services/correction/assist_test.dart index 4c48713fa93..c40acb1348b 100644 --- a/pkg/analysis_server/test/services/correction/assist_test.dart +++ b/pkg/analysis_server/test/services/correction/assist_test.dart @@ -613,6 +613,16 @@ main() { assertNoAssistAt('vvv =', AssistKind.ASSIGN_TO_LOCAL_VARIABLE); } + void test_assignToLocalVariable_invocationArgument() { + resolveTestUnit(r''' +main() { + f(12345); +} +int f(p) {} +'''); + assertNoAssistAt('345', AssistKind.ASSIGN_TO_LOCAL_VARIABLE); + } + void test_assignToLocalVariable_throw() { resolveTestUnit(''' main() {