Commit Graph

10502 Commits

Author SHA1 Message Date
Konstantin Shcheglov 54e1c16c1c Fix empty_catches in analyzer.
R=brianwilkerson@google.com

Change-Id: I6abc5acbd93aa12df8ff6226c49f9b72c0313c92
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/127426
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-12-06 15:03:30 +00:00
Konstantin Shcheglov 54b7543c55 Fix unnecessary_const in analyzer.
The only non-mechanical change is update for tool/diagnostics/generate.dart
to handle MethodInvocation, because without resolution and without
explicit `new` and `const` we get MethodInvocation(s).

R=brianwilkerson@google.com

Change-Id: Ib89ce9c37066e9b27ad03aed96b349ef36f11d43
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/127453
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-12-06 15:03:00 +00:00
Konstantin Shcheglov 0bca6aaf10 Fix avoid_return_types_on_setters in analyzer.
R=brianwilkerson@google.com

Change-Id: If7132980451d76c777d3734abbb89ece5ad3e3d8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/127425
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-12-06 01:48:48 +00:00
Konstantin Shcheglov 364dd8936b Fix unnecessary_new in analyzer.
R=brianwilkerson@google.com

Change-Id: I70f80baa3da4b14c0a52c1f28da16a9ad26d7dda
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/127424
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-12-06 01:11:30 +00:00
Konstantin Shcheglov eee20b4e60 Fix prefer_equal_for_default_values in analyzer.
Change-Id: Ia72a2ac31d6cf6329c78baad6954ac9595a6c45a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/127448
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-12-06 00:00:30 +00:00
Konstantin Shcheglov f772b572c8 Fix curly_braces_in_flow_control_structures lint.
R=brianwilkerson@google.com, paulberry@google.com

Change-Id: I63cb372bf04f80182f873e2143971cb3cf1392fe
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/127447
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-12-05 23:46:13 +00:00
Konstantin Shcheglov 845fccc337 Issue 35818. Use getDisplayString() in _ElementWriter.
R=brianwilkerson@google.com, paulberry@google.com

Bug: https://github.com/dart-lang/sdk/issues/35818
Change-Id: I9a86729ba48cf599c45afee2c7ba83f32ba3c30b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/127445
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-12-05 22:21:55 +00:00
Konstantin Shcheglov eba38af5d1 Add DartType.getDisplayString()
R=brianwilkerson@google.com, paulberry@google.com

Change-Id: I3849ccb4d2359fddf470b42280e3ea21e38f3664
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/127344
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-12-05 21:29:20 +00:00
Konstantin Shcheglov 47383da053 Update LUB for Null vs star.
As specified in https://github.com/dart-lang/language/pull/700

Change-Id: I324841799a485600bf1ebfd54cd852465efac715
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/126981
Reviewed-by: Mike Fairhurst <mfairhurst@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-12-05 03:55:48 +00:00
Konstantin Shcheglov 48573044b3 Replace helper methods in AbstractTypeSystemTest with ElementsTypesMixin.
Change-Id: Ibb50a5ca9365212af6e1ed024d213cb06d6856da
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/127062
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-12-04 00:37:18 +00:00
Konstantin Shcheglov 9c220059a1 Implement DOWN for FunctionType(s) with NNBD rules.
Change-Id: Icd21f17522a54f6d6545aa13406bbbac6cfb0233
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/127060
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-12-03 20:41:38 +00:00
Sam Rawlins 1ebf5cfb39 Fix false positive UNUSED_FIELD on extensions
Also add tests for extensions, and for mixins.

Fixes #39618

Change-Id: I9f6ab723c72d5297c91e360f3531da374a53f0ea
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/127061
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
2019-12-03 18:45:38 +00:00
Sam Rawlins 9719f75ef3 Add InvalidLanguageVersionOverride Hint; fixes #37504
Change-Id: Iea0687266b748a94218191f0ebdf7032715bf96a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/125522
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-12-03 13:19:15 +00:00
Konstantin Shcheglov 2de9b45c8f Update isFunctionSubtypeOf() to NNBD spec.
There is no functional changes, just rewriting this to the rules
as they are in the NNBD spec, and iterating over parameters in parallel
without building additional lists and maps.

Change-Id: I5d30cc3b7e1debf45486166aa5a8d1ccc20d5adf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/126903
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-12-03 03:14:20 +00:00
Konstantin Shcheglov 980b7ace7d Implement DOWN with NNBD rules.
https://github.com/dart-lang/language/blob/master/resources/type-system/upper-lower-bounds.md#lower-bounds

Presubmit is green.
https://test.corp.google.com/ui#id=OCL:283239993:BASE:283239999:1575237950656:febb4697

Change-Id: I50ed1fc8ec589a545f41c2360f7d841a1b11f6fe
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/126800
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
2019-12-03 03:04:10 +00:00
Konstantin Shcheglov 4fe27fd444 Report an error when 'await' is used in the initializer of a late local variable.
Change-Id: I4c610dd37e4c7ca653d250d4e0522536a70a6ca9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/126820
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-12-02 18:00:48 +00:00
Konstantin Shcheglov 6305276184 Remove deprecated 'byteStore' and 'fileContentOverlay' parameters.
I don't need them anymore, and would like to stop seeing these
deprecation hints :-)

R=brianwilkerson@google.com

Change-Id: I85fac405211afd4fcd0388c5ca131374e868f9c9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/126803
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-12-02 16:56:37 +00:00
Konstantin Shcheglov e4344a568f Report INVALID_OPTIONAL_PARAMETER_TYPE when default values are not allowed.
Change-Id: I8145bde238c092a50ddbc053100891737b74feb8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/126801
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-12-02 16:54:47 +00:00
Sam Rawlins 3557973a75 Move 5 verifier classes out of resolver.dart, into their own libraries.
This removes 6 imports from resolver.dart (15%), and 2750 lines (38%).

Change-Id: Ia4565c8ee9ecd511e0cd9bd5a38b0f6ef89172d6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/126200
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-12-02 03:49:42 +00:00
Konstantin Shcheglov 3de7487a2c Report an error for 'late final' fields in classes with const constructors.
Change-Id: I6843191a2f7a0bdd856549177468ff87eec949f1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/126782
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-12-01 01:48:20 +00:00
Brian Wilkerson 59d3a2d143 Unify the names of two codes for documentation purposes
Change-Id: Ib51e35b5dfc149dc0cfa2fecc5218019e64324f8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/126781
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-12-01 01:01:20 +00:00
Brian Wilkerson 0a575d8681 Unify two diagnostics into instantiate_abstract_class
Change-Id: I0d9b97b26173ec789a7937337b8ff015edd283b3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/126780
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-12-01 00:58:00 +00:00
Konstantin Shcheglov 7707c2a84c Issue 39563. Expression body always exists.
Bug: https://github.com/dart-lang/sdk/issues/39563
Change-Id: Ie1db0b78d39e5023662eb192fe59aab8a5b870d9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/126702
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-11-30 18:08:21 +00:00
Brian Wilkerson c6326de855 Improve the highlight region for variable_type_mismatch diagnostic
Change-Id: I8fd2b17c93f2247603a8caacce58cd4abcfb651d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/126760
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-11-30 16:09:50 +00:00
Brian Wilkerson 5b31b1e26d Improve the selection range when reporting that an invoked constructor is not marked as const
Change-Id: Ibb49050394abe2ca1b7d5badf10227a970f15411
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/126701
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-11-29 16:09:06 +00:00
Brian Wilkerson 46c042a118 Improve a diagnostic message by unwrapping Future (issue 39561)
Change-Id: Ie74200e8f41aa70c33f5d7a62c8d0a0ae7a96146
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/126700
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-11-29 16:08:46 +00:00
Konstantin Shcheglov 98d1e99986 Relax UP for required named parameters.
According to https://github.com/dart-lang/language/pull/707

Change-Id: I7c469a204213968acb76ae6c797189aa3d394154
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/126461
Reviewed-by: Mike Fairhurst <mfairhurst@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-11-27 20:49:51 +00:00
Konstantin Shcheglov 0bbcf079f3 Issue 39532. Support for question mark in typedef generic function type.
Bug: https://github.com/dart-lang/sdk/issues/39532
Change-Id: Iea900717e8f60bc6c3216fc18cb59c8f921c996f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/126460
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-11-27 20:25:21 +00:00
Konstantin Shcheglov e56857fcce Stop using FeatureSet in TypeSystem.
Change-Id: Idf80e72c84accb6932f48b80a19e84250979dd1d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/126406
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-11-27 18:58:11 +00:00
Konstantin Shcheglov eddfaff322 Issue 39509. Support for configurable imports in AnalysisDriver.
Bug: https://github.com/dart-lang/sdk/issues/39509
Change-Id: I87cbc20c38ed93e46ae0b646ddad4d9fc28eca8a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/126440
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-11-27 18:58:02 +00:00
Brian Wilkerson 10f158654e Return the URL of recently published docs
Change-Id: Iea19a318182a5c8c3ad1368f9655cf6f5f304301
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/126480
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-11-27 14:19:50 +00:00
Konstantin Shcheglov abeebc04e0 Compute LUB for FunctionType(s) in one pass over parameters.
Support for required named parameters.

Change-Id: Ic9dd286779ade8f9cceb5231f68b606148b295ff
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/126180
Reviewed-by: Mike Fairhurst <mfairhurst@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-11-26 23:09:15 +00:00
Konstantin Shcheglov 1a6b76a8a0 Update DeprecatedMemberUseTest from ResolverTestCase to DriverResolutionTest.
Change-Id: Ic6e0f593213e69c9524eb9e0909ad71f72700b49
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/126285
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-11-26 23:01:10 +00:00
Konstantin Shcheglov ee8d9d2fd3 Remove unused getters from AnalysisResult.
Change-Id: I2a5d2034a7887b145393a2231838f4098da36875
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/126284
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-11-26 02:38:54 +00:00
Konstantin Shcheglov 58e9aeafdb Deprecate AnalysisSession.typeProvider and typeSystem.
Change-Id: I33132bed9fd950030746adbd8951506a81912c41
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/126282
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-11-26 01:30:33 +00:00
Brian Wilkerson 3663abd8db Update the header in the generated diagnostic docs
Change-Id: I2dbf01bbde39029d06aa19fd5c6cd9d80cd3e06b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/126241
Commit-Queue: Kathy Walrath <kathyw@google.com>
Reviewed-by: Kathy Walrath <kathyw@google.com>
2019-11-26 00:37:53 +00:00
Konstantin Shcheglov 273ca5858b Deprecate AnalysisContext.typeProvider/typeSystem
Change-Id: I5235aa38bcde93618a10b88da9ad6a8c3e5dc29c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/126141
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-11-25 22:00:47 +00:00
Konstantin Shcheglov cdab81c21a Remove CompilationUnitElement from ElementWalker.forExecutable()
R=brianwilkerson@google.com

Change-Id: Ibb26890774a2d79bb098e925a04f16c5fa033340
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/126144
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-11-25 21:14:56 +00:00
Konstantin Shcheglov cc5976f78b Remove TypeProvider parameter from createLoadLibraryFunction()
R=brianwilkerson@google.com

Change-Id: I53fb8fd2312d3fac90e3865326e73978b13c172b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/126140
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-11-25 21:07:36 +00:00
Konstantin Shcheglov 687ef66bfd Remove InternalAnalysisContext.
R=brianwilkerson@google.com

Change-Id: Ica823711b01fe9ee6c3b1dd5d0f68e30fa1996f0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/126145
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-11-25 21:01:15 +00:00
Konstantin Shcheglov 6294c73f3e Deprecate 'typeSystem' parameter for InheritanceManager3.
Change-Id: If14eb8900b0fb5cac5e49cf865f2e6e3a0a0263d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/126083
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-11-22 23:08:41 +00:00
Mike Fairhurst c58d263729 [analysis_server] Handle directory watcher closed on windows.
Change-Id: I11d1d9a324ebb27a920837ee4382b89e7cbb0253
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/125765
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
2019-11-22 21:22:28 +00:00
Konstantin Shcheglov 72f461b116 Update FunctionExpression return type inference to NNBD.
This reverts some changes I did in LUB update CL.
https://dart-review.googlesource.com/c/sdk/+/125761

Change-Id: I29e8896f6007ecb643c30ad98f2055fb917eeacc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/125999
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-11-22 20:03:27 +00:00
Konstantin Shcheglov e304d34cea Use the corresponding TypeProvider(s) to create legacy / nonNullableByDefault TypeSystem.
R=brianwilkerson@google.com

Change-Id: I3ddfec3c9b636bbe47b754e0acd508cb8aa367c8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/126060
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-11-22 17:05:24 +00:00
Konstantin Shcheglov 63e8213721 Expose 'typeProvider' and 'typeSystem' from LibraryElement.
Change-Id: I547f60ff11c03d6d90385b3257cd3b4244b77490
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/125995
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-11-22 01:53:04 +00:00
Kallen Tu 029e06b8d9 [analyzer] Allow downwards inference and upper bound heuristic wrt variance.
variance_downwards_inference_test now passes.

The other part of this CL addresses https://github.com/dart-lang/language/issues/658
The code has similar logic to https://dart-review.googlesource.com/c/sdk/+/125552.

Change-Id: Ib2bc7e9c11574ccd9b16fe66472bba8c16dabd29
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/125486
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Leaf Petersen <leafp@google.com>
Commit-Queue: Kallen Tu <kallentu@google.com>
2019-11-22 01:31:03 +00:00
Konstantin Shcheglov 3931d43d42 Issue 39407. Test for ListLiteral inference in presence of null(s).
There are no implementation changes, because LUB change did it.

R=brianwilkerson@google.com

Bug: https://github.com/dart-lang/sdk/issues/39407
Change-Id: I932ef14ddf2ed4e640cf93e5a817c5325c87f6e5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/125991
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-11-21 23:08:48 +00:00
Konstantin Shcheglov 28d272b3dd Move more types access / creation helpers into ElementsTypesMixin.
R=brianwilkerson@google.com

Change-Id: Icbadc6c52fee636e851632dcd3b90818bf3264bb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/125989
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-11-21 22:43:28 +00:00
Sam Rawlins aff0915ead Fix BazelWorkspaces in which multiple 'bin' directories exist, e.g. on distributed build systems
Change-Id: If619bdd64b1a00be41026643d7c84b8bd9d9dcc3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/125723
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-11-21 22:43:18 +00:00
Konstantin Shcheglov f979bd9899 Merge RestrictedAnalysisContext into AnalysisContextImpl.
We don't have any useful / old API(s) in AnalysisContextImpl,
so the distinction between these two does not exist.

Change-Id: I87ef84bc728cc1c2c0e269c695419c425afb6559
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/125987
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-11-21 21:58:16 +00:00