Commit Graph

35087 Commits

Author SHA1 Message Date
Konstantin Shcheglov f81be2cd8b Use AnalysisDriver.addedFiles for search, remove DriverAnalyzedFiles.
The client that uses Search - DAS, adds analyzed files.
Visiting the file system again to gather analyzed files is wasteful.
DAS now uses AnalysisContextCollection, so the same set of files.

Change-Id: I2b6ba4181e7ed8cda02db152086d13758ea6f4dd
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/189381
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2021-03-06 05:15:24 +00:00
Kallen Tu b683098fde [cfe] Execute statements with StatementConstantEvaluator.
Altered the structure of the statement visitors now that ConstantEvaluator is an expression visitor. Currently uses the environment from the prior exprEvaluator, but will change in the future when needed.

No new const functionality, just set up for future ones.

Tests renamed so they actually run now.

Change-Id: Ic5914b0fc700aadeb0dcb28c08593f88e38582a2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/189220
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Kallen Tu <kallentu@google.com>
2021-03-06 01:16:26 +00:00
Riley Porter bfaf674479 Optimize js_util getProperty calls to lowered call to native JS.
No change in the generated JavaScript for dart2js based on both a small
foo.dart sample file and tests/lib/js/js_util/properties_test.dart

All changes in generated JavaScript for DDC are smaller and clearer:
  - foo.dart: https://paste.googleplex.com/4738045023617024
  - properties_test.dart: https://paste.googleplex.com/5107699705446400

Bug: #44533
Change-Id: I670f0226fbef90d05a95c51d918831bea58d6aa3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/187840
Commit-Queue: Riley Porter <rileyporter@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Srujan Gaddam <srujzs@google.com>
2021-03-06 01:16:24 +00:00
Brian Wilkerson 7aaf620de7 Make it easier to experiment with enabling or disabling existing features with example
Change-Id: I22b7a1259fee585e1baeba0faf7b62c9f0d2f5ed
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/189340
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2021-03-06 01:02:24 +00:00
Konstantin Shcheglov 3f5694c827 Issue 45141. Check for loadLibrary() using namespace.
Bug: https://github.com/dart-lang/sdk/issues/45141
Change-Id: Ifb0825d66a560d0136873942f9666d3dc630b6c6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/189320
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2021-03-05 22:21:54 +00:00
Konstantin Shcheglov 9f5f825d96 Check that the element of MethodInvocatio is ExecutableElement.
Change-Id: Ibf414e624b32b6ac5a0b0fde13422db45f875a15
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/189262
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Danny Tuppeny <danny@tuppeny.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2021-03-05 16:50:56 +00:00
Dmitry Stefantsov 0be5ac538b [cfe] Add a test with nested generic arguments and bounds
Change-Id: I65ab1bab6624bb63bf36a6f09c582384fa89a73a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/189203
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com>
2021-03-05 12:21:37 +00:00
Johnni Winther cdfbac278b [dart2js] Support AssertInitializer in dart2js
Closes #37881

Change-Id: I2606a3cf9bcbc047c58d075585aec01e10e0ea90
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/189200
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Stephen Adams <sra@google.com>
2021-03-05 09:14:37 +00:00
Konstantin Shcheglov 10a0c238ce Discover default analysis options files in ContextLocatorImpl.
Change-Id: Idbcb43ab53878b677c3195d3003eb9da6eda5bab
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/189260
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2021-03-05 06:30:17 +00:00
pq 82ad11aeb9 fix all support for USE_NOT_EQ_NULL
Change-Id: I928c669eed12c7f0a6082db059f7ce4133d4f27a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/189164
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
2021-03-04 23:14:20 +00:00
pq d202a4c719 fix all fix for USE_EQ_EQ_NULL
Change-Id: I02f78f01b3fcc647dd8e3ca0557cb4f023a745f4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/189140
Commit-Queue: Phil Quitslund <pquitslund@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2021-03-04 21:58:39 +00:00
Brian Wilkerson 84cafbde9d Remove some unused code from analysis_server
Change-Id: I369a93a9d67cf6a9346e0edcc439d34a8e959e3b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/189161
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2021-03-04 21:13:29 +00:00
Konstantin Shcheglov 73b1cc26d4 Fixes for ContextRootTest and ContextLocatorImplTest on Windows.
Change-Id: I234ab250dd140df3da23015edd2295d0affbc67a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/189180
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2021-03-04 20:46:49 +00:00
Danny Tuppeny bacd31dcdf [analyzer] Flatten capabilities into a wrapper to simplify checking capabilities
Change-Id: I184e8ce3379bbb6ae4d8e81d80979510a8f1f393
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/188724
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2021-03-04 19:51:09 +00:00
Konstantin Shcheglov 4cb71ce5cb Update analysis options before creating AnalysisDriver.
Change-Id: If9c337fc69ac11a570da5165edb17a3c4c75f418
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/188920
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2021-03-04 19:18:19 +00:00
Danny Tuppeny dcc466919f [analyzer] Suggest named args between partially-typed names and values
Fixes https://github.com/dart-lang/sdk/issues/35414.

Change-Id: I847aa87c56de248e8e704790c163de4f83813bbf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/189081
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2021-03-04 18:39:49 +00:00
Kallen Tu e28a53a781 Added IntermediateValue constant results, EvaluationReferences to store values.
Pre-work for variable declarations and method invocation. Storing values in locations (refs) and having the ability to update the values.

Change-Id: I682c139dfebbc4ef6f5032d4f53f29f08b8ceeb8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/188500
Commit-Queue: Kallen Tu <kallentu@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2021-03-04 18:27:59 +00:00
Danny Tuppeny 78dd7a4bb3 [analyzer] Suggest arg names in front of positionals
Fixes https://github.com/dart-lang/sdk/issues/40654.

Change-Id: I329d8b4af9371e8d61c4044bb003f9c22cd72c41
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/182783
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2021-03-04 18:21:19 +00:00
pq 567d745312 fix all support for REPLACE_BOOLEAN_WITH_BOOL
Change-Id: I9b9c9d1732653697abd66b2d7b0d09e818a33ae3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/189101
Commit-Queue: Phil Quitslund <pquitslund@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2021-03-04 17:54:39 +00:00
Johnni Winther fc67a8c955 [dart2js] Handle new method invocation encoding in ssa builder
Change-Id: I382fd8d113ed41c5d01db570fcda0d7f8231b4d7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/188460
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Mayank Patke <fishythefish@google.com>
2021-03-04 17:06:29 +00:00
Johnni Winther f1fb79f73c [dart2js] Handle new method invocation encoding in inferrer
Change-Id: I74b191dcad4c83359688657e9434ff27ea550766
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/188280
Reviewed-by: Mayank Patke <fishythefish@google.com>
2021-03-04 17:06:29 +00:00
Danny Tuppeny 0635916aeb [analyzer] Set InsertTextMode.asIs for LSP completions when supported
Fixes https://github.com/dart-lang/sdk/issues/45147.

Change-Id: Id6c758eadf9a79ec9cd285fef9e50a1540cdc280
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/188723
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2021-03-04 16:44:49 +00:00
pq 64012a281f fix all support for REMOVE_UNNECESSARY_CAST
Change-Id: I1507f07271390d24aefed9db96a7fbf9e304ff01
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/189000
Commit-Queue: Phil Quitslund <pquitslund@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2021-03-04 16:20:27 +00:00
Paul Berry 219fe27e3e Front end: Fix follow-on error arising from ill-typed spread element.
When the CFE encounters an ill-typed spread element in an ambiguous
set/map literal, it replaces it with a synthetic MapEntry object
pointing to an InvalidExpression.  If there is no non-synthetic
MapEntry in the set/map, and it is decided to disambiguate to a set,
then all of the entries are fed into the `convertToElement` method.
Before this CL, this method would see the synthetic MapEntry and
assume the user had explicitly written a key-value pair in a set
literal, so it would try to report the error `Expected ',' before
this` at the location of the `:` in the key-value pair.  But since the
MapEntry was synthetic, there was no `:` and the message was very
confusing.

This CL changes `convertToElement` so that it detects when a MapEntry
has arisen from an error, and avoids creating a follow-on error.

Fixes #45174.

Bug: https://github.com/dart-lang/sdk/issues/45174
Change-Id: I37dc82a130b4bf858b3fb7411bb9c64f7450bd16
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/188940
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2021-03-04 15:52:57 +00:00
Johnni Winther e9f4d5dbb1 [cfe] Change ConstantEvaluator to extend ExpressionVisitor
The constant evaluator is only intended to visit expressions but
by extending RecursiveResultVisitor falsely gave the impression that it
supported visitor all nodes.

Change-Id: Id6afc2b2c51dd4dee1327f8df2b20a6fae6d2c91
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/189060
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2021-03-04 14:22:36 +00:00
Dmitry Stefantsov c83d8792a2 [cfe] Allow generic types in arguments and bounds under a flag
The flag that enables the feature is the 'generic-metadata' experiment
flag.

Bug: https://github.com/dart-lang/sdk/issues/44916
Change-Id: I2770c672280831bf5af6643fde9cb0f1be3083b8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/188701
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com>
2021-03-04 14:09:46 +00:00
Paul Berry bec37f1896 Work around #45192 in unit_test_suites.dart
Bug: https://github.com/dart-lang/sdk/issues/45192
Change-Id: I54300959872b02bb783923ce51e4aa2392e6c482
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/189041
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2021-03-04 13:36:36 +00:00
Johnni Winther 50cda7c5e3 [cfe] Support text serialization of new method invocation encodings
Change-Id: Ie106341331f685650ac886f4b00218b806644ed5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/188722
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2021-03-04 11:06:46 +00:00
Konstantin Shcheglov 810d6c7a6b Remove a test for prefer_interpolation_to_compose_strings lint fix.
The lint is not reported after the linter roll.
https://github.com/dart-lang/linter/issues/2490

TBR

Change-Id: I29158445b1395f2bd135d4c67b9322f39eb66fd6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/189020
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2021-03-04 07:48:16 +00:00
Konstantin Shcheglov ca736dbcdb Resolve typeArguments of Annotation.
We don't have yet full implementation, but this fixes the crash.

Bug: https://github.com/dart-lang/sdk/issues/45119
Change-Id: I0d6aba7c53bf4a9c707c4cbeff8a5c81040f2712
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/188980
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2021-03-04 06:58:35 +00:00
Konstantin Shcheglov e6dbabd477 Issue 45161. Ignore YAML parsing exceptions in analysis_options.yaml
Bug: https://github.com/dart-lang/sdk/issues/45161
Change-Id: I14169cdb0f39e95612a21266cc7e6cf72141e2d6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/188960
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2021-03-04 01:38:15 +00:00
Devon Carew bb3167fe53 [analyzer] always show context messages for 'dart analyze'
Change-Id: Ifda063de48a968f7ef013c501f6db9bec7f13246
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/188001
Commit-Queue: Devon Carew <devoncarew@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2021-03-04 01:00:16 +00:00
Paul Berry 8be535350d Flow analysis: improve handling of types in "why not promoted" logic.
This CL plumbs the types of `this` and property get expression from
the CFE and analyzer into flow analysis, so that flow analysis will be
able to create more accurate "why not promoted" information for those
expression types.  This made it possible to eliminate a clumsy aspect
of the previous implementation, namely that we would consider a
promotion attempt like `if (x.y == null) return;` as an attempt to
promote the type of `x.y` to `Object`; now we compute the type the
user is actually trying to promote to, so we will be able to generate
more accurate "why not promoted" messages.

Bug: https://github.com/dart-lang/sdk/issues/44898
Change-Id: I67f9fc59e72103194a1ea6b1c4dfeae8aeb194a2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/187064
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2021-03-03 23:16:55 +00:00
pq c43be3487b bulk fix support for REMOVE_UNNECESSARY_PARENTHESES
Change-Id: I4ce0336398adab64ba6bd811ab918d3f77a0c6cf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/188880
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
2021-03-03 23:01:15 +00:00
Liam Appelbe 8463e5623b Port package:wasm to new FFI Opaque structs and Allocator API
Bug: https://github.com/dart-lang/sdk/issues/37882
Change-Id: Ibdc64d594ac1645a566477e083d79fe23b0e3ee5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/181060
Commit-Queue: Liam Appelbe <liama@google.com>
Reviewed-by: Daco Harkes <dacoharkes@google.com>
2021-03-03 22:35:14 +00:00
Sam Rawlins 8d7dfd6769 Analysis_server: Improve add_null_check fix
This adds add_null_check support for prefix operations, postfix operations,
binary operations, and cascades.

Bug: https://github.com/dart-lang/sdk/issues/43708
Change-Id: I2d1e80f2ccad58adfbac72400ce44efd48751833
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/188740
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2021-03-03 22:31:14 +00:00
Konstantin Shcheglov 26fce2a64a Fixes for plugin_manager_test.dart to work on Windows.
Change-Id: Icf36f67acf716d6b4c0ce534c8fb865e3a97d5ae
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/188840
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2021-03-03 22:22:34 +00:00
Konstantin Shcheglov 034fab2046 Skip symbolic link tests on Windows.
We need at least Windows 10, after 2016 to support it.

Change-Id: I1f1a3df95f70b770d434343bf5f66ba9ab33c6a4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/188860
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2021-03-03 22:21:24 +00:00
Konstantin Shcheglov 52ea1fd237 Fix for CiderFixesComputerTest on Windows
TBR

Change-Id: Iad1b8148bdc1d87ed57b8eec5593c09a9b4e5148
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/188900
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2021-03-03 21:57:15 +00:00
Konstantin Shcheglov beb216035f Regenerate diagnostics.md
R=brianwilkerson@google.com

Change-Id: Ib5a1d21905d403304bdf3312894ed3d069c1ee66
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/188821
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2021-03-03 21:21:16 +00:00
Brian Wilkerson 38a4d48974 Fix bugs in convert_to_generic_function_syntax
Fixes: https://github.com/dart-lang/sdk/issues/45178
Change-Id: Idcdb392637c85225caeba0bab3f539e30abf55f7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/188742
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Phil Quitslund <pquitslund@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2021-03-03 21:10:34 +00:00
Konstantin Shcheglov e64981d94e Use getDriverFor() and check for null.
I see that sometimes we get a watcher event that AndroidManifest.xml
was changed, and we don't have the corresponding analysis context.
I suspect that these events are buffered, so we quickly first get
an event that forces us to re-create analysis contexts, and then
the event about AndroidManifest.xml, and if the new set of analysis
contexts does not include the AndroidManifest.xml, we get null.

Change-Id: Ie0bcfbb8f7baa6b6335bf6326f2ea2b7093a1b67
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/188741
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2021-03-03 20:32:44 +00:00
pq 944169ad81 fix attempts to fix lints not in the producer map
Fixes: https://github.com/dart-lang/sdk/issues/45177

Change-Id: Id3282f69ee1639b45f5de938f30ae414cee4a3cf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/188780
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
2021-03-03 20:01:04 +00:00
Konstantin Shcheglov 7d67f3ee5c Rewrite analyzer_cli batch mode using AnalysisContextCollection.
Change-Id: I0765df20f24ebf37b49a8a622a072e4d67f74845
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/188582
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2021-03-03 19:30:24 +00:00
Kenzie Schmoll c0c56b0592 Fix a couple typos in vm_service
TEST=N/A

Change-Id: I3a9bee58e7dd28ea54933dc229f91339e9d0a0a9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/188760
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2021-03-03 19:27:22 +00:00
pq 4b35c50cbd fix all support for ADD_NE_NULL
Change-Id: I03e09133fa8af48da1395a538c042c1ee33137de
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/188681
Commit-Queue: Phil Quitslund <pquitslund@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2021-03-03 18:22:24 +00:00
Danny Tuppeny d901f7326a [Analyzer] Add code completion for Pub package names
Change-Id: I0fa8fb1c2801e2acb2d2cf75f7efecf4f9058eeb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/176120
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Jonas Jensen <jonasfj@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2021-03-03 17:12:58 +00:00
Johnni Winther dd1c3a3233 [vm] Make async transform resilient in context of invalid type and never type of iterables
The CFE can invoke transformations despite having compile-time errors.
The async transform was crashing the compiler if it hits for-in
iterables that have an invalid type or never type.

In case of an invalid type, the program has a compile-time error and
won't be able to run propertly. So we'll replace the entire for-in with
an invalid expression statement if the iterable is an invalid
expression.

In case of a never type, the program should compile fine, which this CL
also fixes.

This makes the newly added tests no longer result in DartkCrash but
rather in a compile-time error (invalid expression) or runtime-error
(never type).

Closes https://github.com/dart-lang/sdk/issues/45014

Change-Id: Ic50f68400b67b57dd4a2c0a125b08f0f3e0d8dd6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/188463
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2021-03-03 11:58:08 +00:00
Aske Simon Christensen 76d77603e9 [kernel] Fix typos in interfaceTarget setters
Change-Id: I93d8fb682b7538a048e862db765c0e3d907b1130
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/188522
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Aske Simon Christensen <askesc@google.com>
2021-03-03 09:23:48 +00:00
pq e7644d9a4c fix all support for REMOVE_UNUSED_IMPORT
* adds support for non lint fix all fixes
* enables multi fix for REMOVE_UNUSED_IMPORT

Change-Id: Ib08e82686622d449592cd899df8d63873232a703
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/188587
Commit-Queue: Phil Quitslund <pquitslund@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2021-03-03 02:58:57 +00:00