commit | 89e21180097434e055d4a4640192d6726ee468bd | [log] [tgz] |
---|---|---|
author | Brian Wilkerson <brianwilkerson@google.com> | Tue Jun 25 17:10:12 2019 +0000 |
committer | commit-bot@chromium.org <commit-bot@chromium.org> | Tue Jun 25 17:10:12 2019 +0000 |
tree | 9e68b70d03f4c910b37a41b3d46413082b12e79a | |
parent | fe373777620b62665b180b792c5913fcfbfe797e [diff] |
Guard against an NPE in incomplete code (issue 37150) Change-Id: Idd5a0936ccd435c12ac9b4f36151204a2b01127a Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/107307 Reviewed-by: Konstantin Shcheglov <scheglov@google.com> Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
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 b465c69..34dc4bb 100644 --- a/pkg/analysis_server/lib/src/services/correction/assist_internal.dart +++ b/pkg/analysis_server/lib/src/services/correction/assist_internal.dart
@@ -971,7 +971,8 @@ return; } ConstructorElement element = creation.staticElement; - if (element.name != 'fromIterable' || + if (element == null || + element.name != 'fromIterable' || element.enclosingElement != typeProvider.mapType.element) { _coverageMarker(); return;
diff --git a/pkg/analysis_server/test/src/services/correction/assist/convert_to_for_element_test.dart b/pkg/analysis_server/test/src/services/correction/assist/convert_to_for_element_test.dart index 597c353..0a53680 100644 --- a/pkg/analysis_server/test/src/services/correction/assist/convert_to_for_element_test.dart +++ b/pkg/analysis_server/test/src/services/correction/assist/convert_to_for_element_test.dart
@@ -187,4 +187,14 @@ } '''); } + + test_undefinedConstructor() async { + verifyNoTestUnitErrors = false; + await resolveTestUnit(''' +f() { + return new Unde/*caret*/fined(); +} +'''); + await assertNoAssist(); + } }