Commit graph

45793 commits

Author SHA1 Message Date
Konstantin Shcheglov 89bd370e95 AnalysisDriver. Produce results for all files of a library.
Change-Id: I0118ccdbd4a9059eb3809cb3b6a694731621d809
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/345363
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2024-01-11 03:53:48 +00:00
Kallen Tu 19546dd720 [analyzer] Update 6.3.0 changelog with removed const evaluator.
The CHANGELOG was missing information on the removal of
`pkg/analyzer/lib/src/generated/constant.dart` in this CL https://dart-review.googlesource.com/c/sdk/+/324342.

This CL adds that change to the change log.

Change-Id: Ib8e7276d033cbd89e8eff447d2d96826cc6c9a96
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/345349
Commit-Queue: Kallen Tu <kallentu@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2024-01-10 21:49:48 +00:00
pq c88939d597 clarify "context" feature sets in FileStates
As discussed, the "context" prefix was confusing. I'm not sure "default" adds anything so I went with just `featureSet`.

Let me know what you think!

Change-Id: I3e7ca7ac86c3ab7d96f4d4eee34d58904403d2fd
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/345600
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
2024-01-10 20:28:25 +00:00
Alexander Aprelev 15d8187fef [gardening] Fix line numbers in service test.
Follow-up to ffdb0a2e19

TEST=ci

Change-Id: I1f1a05c6576d6913b3808fd20a2a3e21e2f6f2ce
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/345562
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Alexander Aprelev <aam@google.com>
2024-01-10 20:20:51 +00:00
Sam Rawlins 6b6f333e00 analyzer: Do not overwrite an original exception when a plugin crashes
Maybe related to https://github.com/dart-lang/sdk/issues/38629. These tests have been skipped for so long, enabling them took some work, to migrate them from '.packages' files to package config files.

Some other tidying in the test file:

* inline `byteStorePath`, only used once.
* simplify `_packagesFileContent` and `_getPackagesFileContent`
  into a static getter.
* simplify `_defaultPluginContent` into a const String, so it can
  be used as a function parameter default value

The diff is way bigger than the functional changes, because we sort
elements.


This reverts commit aa6b6470e3.

Change-Id: I9dc533710255534ec27454712a1a64facf5dd12d
Cq-Include-Trybots: luci.dart.try:analyzer-win-release-try,flutter-analyze-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/345367
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
2024-01-10 17:47:52 +00:00
Alexander Aprelev ebf1456c7b [gardening] Workaround ddc issue in vmservice code in g3.
There seems to be a problem with convincing ddc that null-checking
is sufficient for late final field.

Fixes b/319411590
TEST=ci

Change-Id: I1a396201d2a1edf960c0f73e5e0d0ab5be8d9475
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/345580
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Alexander Aprelev <aam@google.com>
2024-01-10 17:20:32 +00:00
Danny Tuppeny 0d6dd73877 [analysis_server] Add syntax highlighting to record fields
Fixes https://github.com/Dart-Code/Dart-Code/issues/4908

Change-Id: I8c425d75ad163a5968f4ce318ef6dc0601978a42
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/345502
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2024-01-10 16:52:25 +00:00
Sam Rawlins fd38a69ebc analyzer: Remove unused 'hasFix' function
Change-Id: Ic2e34faa847fed295a42aec017a5e88b8f6244ea
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/345347
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2024-01-10 16:33:20 +00:00
Jonas Termansen c1581d6636 [vm_service] Fix line numbers in broken vm_service tests.
Another successful sortie commit.

Change-Id: Ie1e44f3d4c816f30d0129a193f9d360b27c1fe3d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/345521
Reviewed-by: Lasse Nielsen <lrn@google.com>
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Jonas Termansen <sortie@google.com>
2024-01-10 16:25:32 +00:00
Jonas Termansen ffdb0a2e19 [vm_service] Bump vm_service language version to 3.2.
Remove older version tags in vm_service and clean up old experiments.

Bug: b/318347018
Change-Id: I6bf87e46878d57d05d7f9d64674ce0c573364d4a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/345302
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Jonas Termansen <sortie@google.com>
2024-01-10 12:06:57 +00:00
Johnni Winther acddbed485 [cfe] Don't add default value to required parameters
Closes #54517

Change-Id: Ibe61bf2fc5aca2ee40e093ecc30b5f724c07177f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/345240
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Chloe Stefantsova <cstefantsova@google.com>
2024-01-10 12:02:00 +00:00
Chloe Stefantsova cd3240eb55 [analyzer,cfe] Introduce TypeAnalyzerOperations.isUnknownType
The method is introduced as a preliminary step in sharing constraint
gathering and solving engine between the Analyzer and the CFE.

Change-Id: I321a931908054bc08dff0626adcd23deb046230f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/343781
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Chloe Stefantsova <cstefantsova@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2024-01-10 11:58:27 +00:00
Johnni Winther 507297562c Revert "[cfe] Run fasta testing directly"
This reverts commit b905c9a171.

Reason for revert: Sometimes all_suites.dart can't be found.

Original change's description:
> [cfe] Run `fasta testing` directly
>
> This avoids the precompile step when running
>
> package:testing/src/run_tests.dart
> Change-Id: Idb7569bb865b077440eb750333cfec5b6c48cd91
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/345280
> Commit-Queue: Johnni Winther <johnniwinther@google.com>
> Reviewed-by: Jens Johansen <jensj@google.com>

Change-Id: Iedc310eac17fab1b372c03a4852ff0a19f6e2e95
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/345500
Auto-Submit: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
2024-01-10 11:46:47 +00:00
Mayank Patke 4ad4501a16 Remove language version override from frontend constant tests
Now that we no longer expect to compile unmigrated code, we can clean up
tests that use old language versions. This will enable code cleanup in
backends.

Change-Id: If5711b3bf7c97546168b7fbe6949452e84d4bd40
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/345368
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Mayank Patke <fishythefish@google.com>
2024-01-10 10:23:58 +00:00
Jens Johansen 39d68052a9 [frontend_server/DDC] Expression compilation for JavaScript can pass scriptUri
This allows using the new scope finder and facilitates expression
compilation with and in extension types.

For now the script uri is optional (and only passable in the new json
input via package:frontend_server), and only if the script uri is passed
we'll use the new scope finder.

Flutter etc should be updated to pass the new data.

Change-Id: I36eed1ea76a825e63e4c5b9ea60daf18aee39f3d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/342400
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Anna Gringauze <annagrin@google.com>
2024-01-10 10:12:22 +00:00
Parker Lougheed bcfab01e87 [meta] Cleanup API docs and clarify superseded annotation status
This CL standardizes some comment formats, adds a few missing doc comments, and updates a few others.

It also adds text to a few annotations indicating they are likely to be deprecated in a future release and what the migration path is.

Contributes to https://github.com/dart-lang/sdk/issues/54389

Change-Id: I4fc6d9767378b855a1ab2a1978747fbe18850605
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/342281
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Auto-Submit: Parker Lougheed <parlough@gmail.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2024-01-10 02:10:36 +00:00
Parker Lougheed f20cd33039 [dart2js] Replace link to old visualizer site
The old website no longer works for the current format and is archived, so stop directing users there. Same for the package which is no longer hosted on pub.

Change-Id: I9bc6782680859771964587c0af7679f829fa8f95
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/345481
Auto-Submit: Parker Lougheed <parlough@gmail.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Mayank Patke <fishythefish@google.com>
Reviewed-by: Mayank Patke <fishythefish@google.com>
2024-01-10 01:01:11 +00:00
Konstantin Shcheglov 4946618845 Extension type. Issue 54548. Don't consider Never? to be a bottom type.
Bug: https://github.com/dart-lang/sdk/issues/54548
Change-Id: I56b734c24a84c8188983605eca69de28869b6de0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/345440
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2024-01-09 21:50:49 +00:00
Konstantin Shcheglov c338b85771 Issue 54549. Fix resolution for dartCoreFunction.call tear-off.
Bug: https://github.com/dart-lang/sdk/issues/54549
Change-Id: I8e64cfc530434af2a26fc6cbf0d22204a1107392
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/345364
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Phil Quitslund <pquitslund@google.com>
2024-01-09 18:19:13 +00:00
Jens Johansen 20cd635717 [CFE] Probable 'fix' for weekly bot spradicly failing because of connection error when the process exits
E.g. weekly bot run
176 failed with "getIsolate: (112) Service has disappeared" among other things this.
173 failed with "getIsolate: (112) Service has disappeared".
172 failed with "getIsolate: (112) Service has disappeared".
168 failed with "[Sentinel kind: Collected, valueAsString: <collected>] from getIsolate()".

This will probably fix such issues, although I haven't been able to
reproduce them so I can't be certain.

Change-Id: I3fae76c6031d1a9dbf495e12412f4f95e567c6fd
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/345304
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2024-01-09 15:27:40 +00:00
Chloe Stefantsova bdde1783f8 [cfe] Cleanup type variable mappings after computing TypeBuilders
Change-Id: I3bd64c126a7a7355b69bc7215d1fc37847b57066
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/345285
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Chloe Stefantsova <cstefantsova@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
2024-01-09 15:03:28 +00:00
Johnni Winther b905c9a171 [cfe] Run fasta testing directly
This avoids the precompile step when running

package:testing/src/run_tests.dart
Change-Id: Idb7569bb865b077440eb750333cfec5b6c48cd91
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/345280
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
2024-01-09 12:27:48 +00:00
Alexander Thomas e609c8232b [dds] Remove copy of dap tool
Cq-Include-Trybots: luci.dart.try:flutter-linux-try,flutter-web-try
Bug: b/286184681
Change-Id: I408d36a10dde43e3e182d57685f7d8423124461b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/344021
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Alexander Thomas <athom@google.com>
2024-01-09 10:45:30 +00:00
Alexander Thomas bc260f4d73 [dap] Move dap to third_party
Cq-Include-Trybots: luci.dart.try:flutter-linux-try,flutter-web-try
Bug: b/286184681
Change-Id: Ic9c56e6b3c95d514cc11e2f9b743ab44af2350ef
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/344020
Reviewed-by: Helin Shiah <helinx@google.com>
Commit-Queue: Alexander Thomas <athom@google.com>
Reviewed-by: Ben Konyi <bkonyi@google.com>
2024-01-09 10:45:30 +00:00
Nate Biggs ef75007c2f [dart2js] Fix as-check type registration.
We would expect failing as checks to throw in all modes (unless --omit-as-casts is provided). However, the new test program fails in production mode. This is because we are not registering the type usage of the function's type parameter. This leads us to drop the as check completely later on.

We should be doing subtype checks with nullability if we want to consider an as test omitted.

Golem patch results: https://golem.corp.goog/Comparison?repository=dart#targetA%3Ddart2js%3BmachineTypeA%3Dlinux-x64%3BrevisionA%3D107840%3BpatchA%3Dnatebiggs--dart2js--Fix-as-check-type-registration.-7%3BtargetB%3Ddart2js%3BmachineTypeB%3Dlinux-x64%3BrevisionB%3D107839%3BpatchB%3DNone

Fixed: https://github.com/dart-lang/sdk/issues/54419
Change-Id: If93f78a939a690f05f5398c1a5ca971df1fc9243
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/343821
Reviewed-by: Mayank Patke <fishythefish@google.com>
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Nate Biggs <natebiggs@google.com>
2024-01-09 00:04:50 +00:00
Ömer Sinan Ağacan 604b6cda13 [dart2wasm] Refactor variable initializer usage
Previously `VariableDeclaration.initializer` was sometimes not null even
when a function parameter is required.

[1] fixes this, which breaks dart2wasm. This CL prepares `initializer`
usage in prep for [1].

[1]: https://dart-review.googlesource.com/c/sdk/+/345240/1

Change-Id: Ie16156d01eb3659719f004996adce7acc3511b12
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/345300
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2024-01-08 21:46:32 +00:00
Konstantin Shcheglov 0a1e59738d Simplify ResolutionTest.assertParsedNodeText()
Change-Id: Icdc7f5edd9a133d95083995860732815085471ee
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/345343
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2024-01-08 21:39:52 +00:00
Konstantin Shcheglov 5391dda614 Remove old AnalysisDriverTest, and BaseAnalysisDriverTest.
They existed for 7+ years, but now its time to remove them :-)

The remaining tests were covering not AnalysisDriver specific cases,
mostly constants, type inference, and resolution. These are already
covered by specific test classes.

Change-Id: Ie203c5358ee63e59b6aea3381c58a25e2a5ebcb8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/345342
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Phil Quitslund <pquitslund@google.com>
2024-01-08 21:32:28 +00:00
Konstantin Shcheglov f620836be2 Extension type. Issue 54293. Don't refine binary operation type if the invoked method is from ExtensionTypeElement.
Bug: https://github.com/dart-lang/sdk/issues/54293
Change-Id: Ib23cfe2ff150ef34ad47b78444406d86bc4ddb0c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/345360
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2024-01-08 21:31:49 +00:00
pq f5de72732d Remove deprecated updateAnalysisOptions
Change-Id: I104f2f5ecc8e902a085f6e7830bb256949d98e32
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/344920
Commit-Queue: Phil Quitslund <pquitslund@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2024-01-08 21:05:29 +00:00
pq 3224637bb1 Reland "options map support scaffolding in driver" (with a re-introduced optional analysisOptions param)
This is a reland of commit 717ce7a69c with a slight modification to `AnalysisDriver` to allow Google3 clients to pass an analysisOptions object in.

The logic to accommodate this is only temporary and will go away as soon as I can update clients to use an options map instead.




Original change's description:
> options map support scaffolding in driver
>
> Konstantin and I chatted a bit about this so at least some of it shouldn't be too surprising to him but please do feel free to grab me to chat.
>
> That said a few pointers would be handy. Notably, this change:
>
> * introduces a new `SharedOptionsOptionsMap` for use in SDK drivers (and preserve current semantics)
>   * this is currently public but will be private once driver is more evolved to accommodate multiple options files
> * removes the shared `_analysisOptions` from the analysis driver with a baby step to using the one shared in SharedOptionsOptionsMap
> * removes context_builder and collection v2 experiments (and tests)
>   * I'll harvest some more functionality from these in future changes but for now they're distracting and hard to maintain
>
> This work is all to setup moving analysis options awareness into file state objects which will allow us to remove `sdkVersionConstraint` info from options (finally) and a host of other good stuff (see https://github.com/dart-lang/sdk/issues/54124).
>
>
>
> Change-Id: Ic4278184016d1018b4b5b1c6ac5ba9e2546927a5
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/344860
> Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
> Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
> Commit-Queue: Phil Quitslund <pquitslund@google.com>

Change-Id: Iac9c4eb1aa448f2ca44e32dfb6cdf7cf765b6027
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/344944
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
2024-01-08 19:31:21 +00:00
Konstantin Shcheglov cee5fac576 Make 'hasFilesToAnalyze' private, remove tests.
It is used only internally by the scheduler, and we observe its effect
by seeing results and/or transitions to analyzing/idle.

Change-Id: If79f2e3e36b48f66c1f1fb5e94db46bad3bb815b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/345340
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2024-01-08 19:26:49 +00:00
Konstantin Shcheglov 50cb67023f Extension type. Use 'extensionTypeErasure' for relational pattern argument check.
This should make these tests to pass.
co19/LanguageFeatures/Extension-types/exhaustiveness_relational_A01_t01
co19/LanguageFeatures/Extension-types/exhaustiveness_relational_A01_t03

Change-Id: Ic7550131a69636b8d58613f96be06e8b87fc473f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/345082
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2024-01-08 19:23:18 +00:00
Konstantin Shcheglov 8d3b6ce54c Use flattenedToList/flattenedToSet instead of generic expand().
It is faster.

[expand: 102]
[flattened: 131]
[flattened2: 37]

import 'package:collection/collection.dart';

main() {
  const outerLength = 100;
  const innerLength = 10;
  final listOfLists = List.generate(outerLength, (i) {
    return List.generate(innerLength, (j) => i * innerLength + j);
  });

  for (var i = 0; i < 10; i++) {
    f(listOfLists);
  }
}

void f(List<List<int>> listOfLists) {
  const repeatCount = 10000;

  {
    final timer = Stopwatch()..start();
    for (var i = 0; i < repeatCount; i++) {
      listOfLists.expand((e) => e).toList();
    }
    print('[expand: ${timer.elapsedMilliseconds}]');
  }

  {
    final timer = Stopwatch()..start();
    for (var i = 0; i < repeatCount; i++) {
      listOfLists.flattened.toList();
    }
    print('[flattened: ${timer.elapsedMilliseconds}]');
  }

  {
    final timer = Stopwatch()..start();
    for (var i = 0; i < repeatCount; i++) {
      listOfLists.flattened2.toList();
    }
    print('[flattened2: ${timer.elapsedMilliseconds}]');
  }
}

extension ListListExtensions<T> on List<List<T>> {
  Iterable<T> get flattened2 {
    return [
      for (final elements in this) ...elements,
    ];
  }
}

Change-Id: I0bf9dc0c8735fe62aab69cbce276254e2db110f9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/345202
Reviewed-by: Jacob Richman <jacobr@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Phil Quitslund <pquitslund@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2024-01-08 18:55:48 +00:00
Konstantin Shcheglov b5b4cf872f Move more AnalysisDriver tests to DriverEventCollector.
Change-Id: I52715322580c36090104f295276cd071733d6e6a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/344945
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2024-01-08 17:38:39 +00:00
Ben Konyi 3c42222b7e [ CLI ] Add tooling-daemon command to support launching the Dart Tooling Daemon (DTD)
This change includes the following:
 - A new `tooling-daemon` CLI command to launch DTD
 - Minor refactoring of package:dtd_impl to better match expected
   Dart package structure
 - Updated build rules to create dart_tooling_daemon.dart.snapshot

Change-Id: Idd91bc4ce64ce790db5bad323a50d9cf65523dc2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/344800
Reviewed-by: Dan Chevalier <danchevalier@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2024-01-08 17:07:55 +00:00
Jens Johansen b52dc18ff8 [CFE] Textual outline suite doesn't format pre-nnbd sources
Fixes https://github.com/dart-lang/sdk/issues/54328

Change-Id: I6d52d9241f245865d3aba775ea6fe19da4ba7f30
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/345220
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2024-01-08 15:01:26 +00:00
Johnni Winther fa8e34e835 [cfe] Handle erroneous enum constant values in exhaustiveness
Closes #54267

Change-Id: Ic8e86a352725bd35985fbd4685b1c4d446875949
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/345063
Reviewed-by: Chloe Stefantsova <cstefantsova@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2024-01-08 13:20:01 +00:00
Jens Johansen 01a27372e2 [CFE] Textual outline suite doesn't remove empty lines before formatting
Change-Id: I8b7d9fdb5e2562914b66ccd748a8f417895658a4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/344705
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2024-01-08 13:11:52 +00:00
Ömer Sinan Ağacan f23abcd593 [dart2wasm] Implement wrapping awaited values with Future.value
Fixes tests:

- language/async/await_flatten_test
- language/async/await_type_check_test
- language/await_type_test

Change-Id: I42344073864c4927d07b951048a6425fd116a4b6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/344720
Commit-Queue: Ömer Ağacan <omersa@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2024-01-08 12:19:30 +00:00
Chloe Stefantsova 04e8677d59 [cfe] Infer mixins by directly solving for equality
The direct algorithm for solving for equality replaces the more
general constraint solving algorithm. It reduces complexity and
removes the requirement on the constraint gathering and solving engine
to be applicable at the earlier stages of compilation.

Change-Id: I73dfa39bb1534803c6985578708ecab198c26e25
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/343920
Reviewed-by: Erik Ernst <eernst@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Chloe Stefantsova <cstefantsova@google.com>
2024-01-08 11:42:39 +00:00
Chloe Stefantsova 8f0729aa57 [cfe] Canonicalize bool const results of |, &, ^ to the cached value
Closes https://github.com/dart-lang/sdk/issues/54489

Change-Id: I8eceb0316383e98027f8531c50de1a3079985913
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/344721
Reviewed-by: Lasse Nielsen <lrn@google.com>
Commit-Queue: Chloe Stefantsova <cstefantsova@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2024-01-08 11:36:45 +00:00
Parker Lougheed 5592a0fd5f [dartdev] Roll pub to a3689f03168c896dd1cb0db8a60c568b38ee16bf
It's been a few months since pub was updated and there are some good enhancements that would benefit from larger testing. Happy to close this if pub hasn't been updated in a while on purpose though!

Diff: 1779628b38...a3689f0316/
Change-Id: I69ee1fcf8df8ed61fffa7729c36a214cb1871230
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/345101
Auto-Submit: Parker Lougheed <parlough@gmail.com>
Commit-Queue: Sigurd Meldgaard <sigurdm@google.com>
Reviewed-by: Sigurd Meldgaard <sigurdm@google.com>
Reviewed-by: Sarah Zakarias <zarah@google.com>
2024-01-08 10:40:37 +00:00
Ömer Sinan Ağacan 611a092a5f [dart2wasm] Simplify _AsyncCompleter type parameter computation
Similar to 4d3895a and 72fd1e0, use `FunctionNode.emittedValueType` to
get the yielded element type.

Change-Id: Ib7b3d37e8c84c1b40c38fc8b4143fd0e2b77a463
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/344704
Commit-Queue: Ömer Ağacan <omersa@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2024-01-08 10:14:16 +00:00
Ömer Sinan Ağacan 9ebe37f55c [dart2wasm] Remove rednudant ref.as_non_nulls
With 3c4d4ad we use non-nullable Wasm field types for non-nullable Dart
fields, so the `ref.as_non_null`s for getting async completer from a
async suspend state can be dropped.

Change-Id: I7857d9996f3415c42b83e4b8961f629e0dd070a7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/345180
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Martin Kustermann <kustermann@google.com>
Auto-Submit: Ömer Ağacan <omersa@google.com>
2024-01-08 09:37:09 +00:00
Samuel Rawlins aa6b6470e3 Revert "analyzer: Do not overwrite an original exception when a plugin crashes"
This reverts commit 7784cf3f94.

Reason for revert: broke windows bot

Original change's description:
> analyzer: Do not overwrite an original exception when a plugin crashes
>
> Maybe related to https://github.com/dart-lang/sdk/issues/38629. These tests have been skipped for so long, enabling them took some work, to migrate them from '.packages' files to package config files.
>
> Some other tidying in the test file:
>
> * inline `byteStorePath`, only used once.
> * simplify `_packagesFileContent` and `_getPackagesFileContent`
>   into a static getter.
> * simplify `_defaultPluginContent` into a const String, so it can
>   be used as a function parameter default value
>
> The diff is way bigger than the functional changes, because we sort
> elements.
>
> Change-Id: I193316316750e80268b684fdc1abe558a77994fe
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/344601
> Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
> Commit-Queue: Samuel Rawlins <srawlins@google.com>

Change-Id: Ibeb761afebad4fb4166cec756743dbb35d323e7d
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/345143
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2024-01-05 23:49:57 +00:00
Eli Geller e6d1333f93 Fix typo unawaited_futures.dart
Closes https://github.com/dart-lang/sdk/pull/54533

GitOrigin-RevId: c7b652b265f0e2723dd9f23c9107754f2c44405f
Change-Id: I99a7effa1f4bba921642a390590bc947d6c0a78e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/345142
Reviewed-by: Phil Quitslund <pquitslund@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2024-01-05 22:48:09 +00:00
Brian Wilkerson e5cbde13b9 Add documentation for core lints
Change-Id: I3aa040df18982447ec1e3da074547d28838acae9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/344280
Reviewed-by: Phil Quitslund <pquitslund@google.com>
Reviewed-by: Marya Belanger <mbelanger@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2024-01-05 21:36:10 +00:00
Srujan Gaddam 121d54f1e0 [pkg:js] Update changelog to better comment breaking change in 0.7.0
Change-Id: Ib949f1b08a4e147258364d7ab9660a8dc6a88f23
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/345140
Commit-Queue: Jake Macdonald <jakemac@google.com>
Commit-Queue: Srujan Gaddam <srujzs@google.com>
Reviewed-by: Jake Macdonald <jakemac@google.com>
Auto-Submit: Srujan Gaddam <srujzs@google.com>
2024-01-05 21:16:11 +00:00
Stephen Adams 7933cd741d [dart2js] Prevent type expressions being hoisted above guards
Use a pinned HTypeKnown on the receiver of the HInstanceEnvironment to
pin the type expression. When the the receiver has a wider type that
is legal for the type expression, this keeps the type expression at a
location where it is valid. Type expressions can still be hoisted if
the HTypeKnown is redundant and optimized away.

Bug: #54329
Change-Id: Iae378f9d517e3e22deca198195cad9811cf37772
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/344841
Reviewed-by: Mayank Patke <fishythefish@google.com>
Commit-Queue: Stephen Adams <sra@google.com>
2024-01-05 19:03:29 +00:00