Commit Graph

279 Commits

Author SHA1 Message Date
Devon Carew 39603fd3d0 [dart fix] remove a check that a lint code was enabled when performing a bulk fix
Bug: https://github.com/dart-lang/sdk/issues/51427
Change-Id: I67ae94d626d16ac831996b1ce4da626afcfccd56
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/283462
Reviewed-by: Phil Quitslund <pquitslund@google.com>
Commit-Queue: Devon Carew <devoncarew@google.com>
2023-02-17 00:58:41 +00:00
Janice Collins 4552deb188 Make --dry-run and --validate-options conflict in dart doc.
Bug: dart-lang/dartdoc#3330
Change-Id: I6a40317c6bab90aa4126b92dbe1a852e3f946b29
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/282811
Commit-Queue: Janice Collins <jcollins@google.com>
Reviewed-by: Samuel Rawlins <srawlins@google.com>
2023-02-14 17:05:38 +00:00
Devon Carew 2ed6ea2900 [pkg/dartdev] fix an issue parsing ps output on some locales
Bug: https://github.com/dart-lang/sdk/issues/51385
Change-Id: Idb4bfed8d8d8408cdbde90832435189d0ca68562
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/282805
Commit-Queue: Devon Carew <devoncarew@google.com>
Reviewed-by: Ben Konyi <bkonyi@google.com>
2023-02-13 22:40:43 +00:00
Sam Rawlins 42402bf433 [analyzer] Move 6 more Hints to be Warnings, MISSING_*
Bug: https://github.com/dart-lang/sdk/issues/50796
Change-Id: Ie021ab23c4954c99ccb3f697302cada07b11cbf0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/282164
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
2023-02-13 16:32:26 +00:00
Sigurd Meldgaard a561e86a3f Better experiment handling in dart run
This change enables

dart run --enable-experiment :main # When using the package:binary
syntax

This is done by disabling snapshotting when experiments are enabled. We don't have a mechanism for invalidating snapshots based on the set of experiments.

And

dart run --resident main.dart # When using the resident compiler.

Here the issue was that the experiments was passed in a wrong format to the resident compiler process.

Bug: https://github.com/dart-lang/sdk/issues/51300 https://github.com/dart-lang/sdk/issues/51303
Change-Id: Id730e83bac83da9d678df36ae8ffd6e4ee44e8a8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/282281
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Sigurd Meldgaard <sigurdm@google.com>
2023-02-13 10:01:18 +00:00
Devon Carew 0ffd41f53b [dart fix] tweak the 'To fix an individual diagnostic' messages
Add a blank line between the individual diagnostics and the 'fix all' message.

Change-Id: I8dcc385c8a76764f4c87c061e193d676990d2e4f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/281944
Commit-Queue: Devon Carew <devoncarew@google.com>
Reviewed-by: Phil Quitslund <pquitslund@google.com>
2023-02-09 19:00:14 +00:00
Anna Gringauze b6bcdeaa5f [dartdev] Fix webdev integration test
Closes: https://github.com/dart-lang/sdk/issues/51106
Closes: https://github.com/dart-lang/sdk/issues/51037
Change-Id: If88b3e800764dbf0be4e294dc996fa2bc74be1f3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/280561
Reviewed-by: Nicholas Shahan <nshahan@google.com>
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Anna Gringauze <annagrin@google.com>
2023-02-04 01:05:45 +00:00
Josh Soref 77978889eb Spelling
Closes https://github.com/dart-lang/sdk/pull/51143

GitOrigin-RevId: 9e21c99a222d588e4fc95980725a2f8c9784965c
Change-Id: If0870e8936c7649935dce7e23cd783d62aa5610c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/279916
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Alexander Thomas <athom@google.com>
2023-01-30 18:29:59 +00:00
Ben Konyi a1f64f41f5 [ VM Service ] Add _serveObservatory private RPC
Allows for VM service clients to tell the service to serve Observatory
at runtime. This will enable `flutter attach` to enable Observatory when
connecting to an existing Flutter application that is not serving
Observatory.

TEST=run_test.dart

Change-Id: Iae20b603c15bdb1d3f6d4b9b07d98638abfe2d00
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/278941
Reviewed-by: Derek Xu <derekx@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2023-01-12 19:38:02 +00:00
Ben Konyi 76097a9e47 [ Service ] Don't redirect HTTP VM service requests when Observatory is not being served
Users should still be able to make direct HTTP requests to the VM
service, even if Observatory is disabled. For example:

GET http://127.0.0.1:58606/1aeHA80oCk8=/getVM

TEST=pkg/dartdev/test/commands/run_test.dart

Change-Id: I5cb7962cc23f9c2bf4209ee0acd51c44ee56083b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/278670
Reviewed-by: Kenzie Davisson <kenzieschmoll@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2023-01-10 20:47:50 +00:00
Brian Wilkerson 14ff1f2d35 Generate a diagnostic for language overrides prior to 2.12
Change-Id: Ia10cf89443208ef133dd1ce8d68ee7c6b4129fbb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/276800
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Stephen Adams <sra@google.com>
Reviewed-by: Samuel Rawlins <srawlins@google.com>
2023-01-10 05:27:48 +00:00
Paul Berry 5d7b701d12 Remove dart migrate command.
Bug: https://github.com/dart-lang/sdk/issues/50319
Change-Id: I216a20afe8382eab5872672b2e01ed1daf7ac78d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/278367
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Devon Carew <devoncarew@google.com>
2023-01-06 17:21:35 +00:00
Josh Soref 50b94ef9fc Spelling runtime bin
TEST=build VM

Closes: https://github.com/dart-lang/sdk/pull/50862

GitOrigin-RevId: ae54b37666f70f670ee3af11c984c7e9a7e9da26
Change-Id: I459fda0439a1cd368f488a70d84ee6bb915e60bb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/277761
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: Daco Harkes <dacoharkes@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2023-01-06 07:48:22 +00:00
Jens Johansen fa88e0c91f [analyzer] Add benchmarks of running dart analyze
This CL:
  * Adds a benchmark of running `dart analyze` on a single small file.
  * Adds a benchmark of running `dart analyze` on a single project.
  * Adds a benchmark of running `dart analyze` on several projects.
  * Adds a hidden flag to `dart analyze` so it reports ram usage:
    run via `dart analyze --format=json --memory` and the memory
    usage will be reported in the json output.

All the bencmarks run without and with cache for speed testing, and
without and with cache when measuring memory usage.

The idea of running this via `dart analyze` instead of running either
the script or the snapshot is to measure the "real world" speed which
could be different (although in practise it _does_ just run the
snapshot).

Future CL(s) should also add benchmarks for queries using the
language server.

Change-Id: Iad6d6d72c1a2ed18ab51d056b4914f8b6eb963e4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/276100
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2022-12-19 08:22:32 +00:00
Derek Xu 53d859f6b9 Revert "[VM/CLI] Remove dartdev.dill"
This reverts commit c09f790d37.

Reason for revert: CI failures

Original change's description:
> [VM/CLI] Remove dartdev.dill
>
> Incompatible VM flags will no longer break the CLI when running from an
> AppJIT snapshot, so the fallback logic is no longer required. This CL
> thus removes dartdev.dill and the fallback logic.
>
> Relevant past CLs: https://dart-review.googlesource.com/c/sdk/+/157601
> and https://dart-review.googlesource.com/c/sdk/+/178300
>
> Fixes https://github.com/dart-lang/sdk/issues/50504
>
> TEST=I tried running `out/ReleaseX64/dart --observe --sound-null-safety test.dart`
> and `out/ReleaseX64/dart --observe --no-sound-null-safety test.dart` and
> both worked.
>
> Change-Id: I5cdcfbccf71ec557964014fdb80733b4a7c76b4d
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/274520
> Reviewed-by: Ben Konyi <bkonyi@google.com>
> Commit-Queue: Derek Xu <derekx@google.com>

TBR=bkonyi@google.com,derekx@google.com,dart-scoped@luci-project-accounts.iam.gserviceaccount.com

Change-Id: I5117f990dfabf93f5a9bae56098831280845e84e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/275181
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Derek Xu <derekx@google.com>
2022-12-13 15:28:19 +00:00
Derek Xu c09f790d37 [VM/CLI] Remove dartdev.dill
Incompatible VM flags will no longer break the CLI when running from an
AppJIT snapshot, so the fallback logic is no longer required. This CL
thus removes dartdev.dill and the fallback logic.

Relevant past CLs: https://dart-review.googlesource.com/c/sdk/+/157601
and https://dart-review.googlesource.com/c/sdk/+/178300

Fixes https://github.com/dart-lang/sdk/issues/50504

TEST=I tried running `out/ReleaseX64/dart --observe --sound-null-safety test.dart`
and `out/ReleaseX64/dart --observe --no-sound-null-safety test.dart` and
both worked.

Change-Id: I5cdcfbccf71ec557964014fdb80733b4a7c76b4d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/274520
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Derek Xu <derekx@google.com>
2022-12-12 18:02:47 +00:00
Sigmund Cherem e8906e65e7 [3.0 alpha][dart2js] No longer infer the null-safety mode from sources.
This prepares dart2js to default to sound null safety in Dart 3.0.

The compiler no longer infers the default mode based on the input
program, instead uses sound null safety unless
'--no-sound-null-safety' is specified.

On a separate change, we expect to remove the option of disabling
null safety.

Note: this change should also be reflected in the CHANGELOG, but
we've currently not included it to redeuce merge conflicts, as we plan
to land multiple 3.0-alpha changes in a short window of time

Change-Id: Id87498cc5976548ec89d1f36c60674b72406950a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/270860
Reviewed-by: Nate Biggs <natebiggs@google.com>
Commit-Queue: Siva Annamalai <asiva@google.com>
Reviewed-by: Mayank Patke <fishythefish@google.com>
2022-12-07 04:02:13 +00:00
asiva 606a64a743 [3.0 alpha][VM/Runtime] - Flip flag to make strong null safety the default.
- Flip flag to make strong null safety the default
- Remove code that auto detects null safety mode from source files,
  it is necessary to specify --no-strong-null-safety to opt out.
- Retains sniffing of AOT/JIT snapshots and kernel files to determine
  null safety mode, the opt out has to be done when generating these
  file.

TEST=ci

Change-Id: If2c9608eedb7c46d9c3cd85e261ee9640e0d28eb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/261140
Reviewed-by: Alexander Thomas <athom@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Siva Annamalai <asiva@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2022-12-06 04:04:23 +00:00
Alexander Thomas 7e0d92d69d [3.0 alpha] Bump version to 3.0.0
Tested: Standard CQ.
Bug: https://github.com/dart-lang/sdk/issues/49529
Change-Id: I329b9940db7309c7e48f17eecd7a66d5b853a484
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/271922
Commit-Queue: Siva Annamalai <asiva@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2022-12-06 02:40:36 +00:00
Devon Carew 793367c498 [pkg/dartdev] add windows support for 'dart bug'
Change-Id: Id94a4d9e4a485350cbe37f78d5395e093ccf5892
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/272741
Commit-Queue: Devon Carew <devoncarew@google.com>
Reviewed-by: Ben Konyi <bkonyi@google.com>
2022-11-30 20:13:05 +00:00
Daco Harkes eba9ada49e [pkg/dartdev] Fix bug_linux_test
Makes test pass when there's snapshots in the current processes.

Makes test pass when there's more digits in the Memory column, the
header is aligned right.

Closes: https://github.com/dart-lang/sdk/issues/50583
Change-Id: Ia0445c38795b60a403b8cba26c0444e829955973
Cq-Include-Trybots: luci.dart.try:pkg-linux-debug-try,pkg-linux-release-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/272820
Commit-Queue: Daco Harkes <dacoharkes@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2022-11-30 11:06:51 +00:00
Devon Carew 1dd71b412f [dartdev] contribute a 'dart bug' command
Change-Id: Ib5557711df23d3a3e0485378c04ff6264194717f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/269750
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Devon Carew <devoncarew@google.com>
2022-11-29 16:58:58 +00:00
Ben Konyi 3602351df0 [ VM Service ] Add support for '--[no-]serve-observatory'
To prepare for the eventual removal of Observatory, we plan on disabling
Observatory by default while providing an escape hatch to manually serve
the tool for some period of time before completely removing Observatory
from the SDK. This change adds flags that can be used to configure
whether or not Observatory is served.

Currently, '--serve-observatory' is the default behavior, but will be
changed to '--no-serve-observatory' once tooling is ready to support the
escape hatch behavior.

Part of https://github.com/dart-lang/sdk/issues/50233

TEST=run_test.dart

Change-Id: Ib6d1e1587d9fbd3c61d4a4c75d90635052835844
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/267720
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2022-11-21 17:47:31 +00:00
Devon Carew 8e70a02f05 [dartdev] updates to the 'dart compiler-server-shutdown' command
Change-Id: I38c268dace6610083051f9ec62fc9c0846d202d9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/270023
Reviewed-by: Ben Konyi <bkonyi@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Devon Carew <devoncarew@google.com>
2022-11-16 21:14:41 +00:00
asiva 1a3215fc03 [kernel-service] Fix test (build breakage)
TEST=ci
Change-Id: I3bf933aed20ab6c964a17e4f8a6cda4920069196
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/268802
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Siva Annamalai <asiva@google.com>
2022-11-10 17:01:13 +00:00
asiva 47880ca5f7 [kernel-service] - Send diagnostics output to stderr
TEST=ci

Bug:49881
Change-Id: I732d8e0f79a48ad4993762ec93c45dc22ee828b2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/268102
Commit-Queue: Siva Annamalai <asiva@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2022-11-09 19:32:28 +00:00
Daco Harkes 34628cf00f [test/dartdev] Clean up tests
* Move `project in current directory` into a seperate invocation in a
  temp folder.
* Give an eager and more sensible error message if tests are run with
  a `dart` not in `bin/dart`.

Closes: https://github.com/dart-lang/sdk/issues/50352
Change-Id: I06b92a925f4e92c93b58bfc7f00197e15f0341de
Cq-Include-Trybots: luci.dart.try:pkg-linux-debug-try,pkg-linux-release-try,pkg-mac-release-arm64-try,pkg-mac-release-try,pkg-win-release-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/266901
Reviewed-by: Tess Strickland <sstrickl@google.com>
Commit-Queue: Daco Harkes <dacoharkes@google.com>
Auto-Submit: Daco Harkes <dacoharkes@google.com>
Commit-Queue: Tess Strickland <sstrickl@google.com>
2022-11-01 17:26:08 +00:00
Ben Konyi 39168c9ef0 [ CLI ] Fix dart run --enable-experiment
Fixes issue where --enable-experiment options passed after `dart
run` weren't being handled by the VM.

Fixes https://github.com/dart-lang/sdk/issues/50205

TEST=pkg/dartdev/test/commands/run_test.dart

Change-Id: Ia9c585a16756fd4450cfd159a1b9864ebfb6d200
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/264200
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2022-10-18 13:42:32 +00:00
Ben Konyi 72506b826a [ CLI ] Add support for --[no-]sound-null-safety to dart compile {jit-snapshot,kernel}
Fixes https://github.com/dart-lang/sdk/issues/50079

Change-Id: I4a71dab1c9003f13ff74741bc64f3ee239c03195
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/262620
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2022-10-04 17:03:29 +00:00
Sigurd Meldgaard 4f4f446e22 Bump pub to 28a2503d7f4806e6854e3ed0d783f065abfd1b5f
Changes:
```
> git log --format="%C(auto) %h %s" ec35d46..28a2503
 https://dart.googlesource.com/pub.git/+/28a2503d Bump analyzer from 4.7.0 to 5.1.0 (#3582)
 https://dart.googlesource.com/pub.git/+/8dba9574 Crc32c checksum validation and retry of archive downloads (#3546)
 https://dart.googlesource.com/pub.git/+/27da43ec Allow `dart pub add` with existing package, update constraint instead of adding (#3570)
 https://dart.googlesource.com/pub.git/+/2e9338e5  Do resolution before publishing. (#3565)
 https://dart.googlesource.com/pub.git/+/0a487534 Migrate removed command `pub` to `dart pub` in docs & messages (#3506)
 https://dart.googlesource.com/pub.git/+/e2720c27 Fail gracefully when run inside the pub-cache (#3471)
 https://dart.googlesource.com/pub.git/+/a76c1933 Upgrade `package:tar` to 0.5.6 (#3540)
 https://dart.googlesource.com/pub.git/+/c065e559 Remove unnecessary nullability (#3547)
 https://dart.googlesource.com/pub.git/+/8e306f33 Use pub.dev in writing (#3528)
 https://dart.googlesource.com/pub.git/+/08d71024 Use unicode (if available) when drawing file-lists (#3541)
 https://dart.googlesource.com/pub.git/+/a0ca4226 Don't be conservative in upgrade --major-versions without specific pa… (#3539)
 https://dart.googlesource.com/pub.git/+/a59d890e Show file size (#3509)
 https://dart.googlesource.com/pub.git/+/b0ba5cc6 Avoid packageGraph (and therefore getExecutableForCommand) depending on the lock-file (#3533)

```

Diff: https://dart.googlesource.com/pub.git/+/ec35d46261b610e558dfd0d8525ca3fc8387b4b7~..28a2503d7f4806e6854e3ed0d783f065abfd1b5f/
Change-Id: Ia366f75da16982fb9588a0d7aa18e109daea8f8c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/262346
Reviewed-by: Jonas Jensen <jonasfj@google.com>
Commit-Queue: Sigurd Meldgaard <sigurdm@google.com>
2022-10-04 10:11:57 +00:00
Tess Strickland b0c4ddf919 [pkg/dart2native] Avoid overwriting section contents in MachO files.
To create a Dart standalone executable on MacOS, we modify the
dartaotruntime executable to add the snapshot contents, and the
VM looks into the executable on disk to find the snapshot to load.

Previously, we did this by adding a new 64-bit segment load command
with a single section, where the section's file offset and size
describes the inserted snapshot. This meant the Mach-O header size increased by 152 bytes.

Originally, this wasn't an issue as there was plenty of padding, but
later clang updates removed most of this padding, and so writing the
new header actually overwrote the initial contents of the first section
in the file, which happens to be the __text section. In addition, since
the first section's offset was now declared to be within the header,
utilities that strictly validated the Mach-O format, like codesign,
would report errors.

This CL changes it so that we actually reserve space in the
dartaotruntime header using the -add_empty_section flag to the linker.
In addition, we change from using a segment load command to using a
(40 byte) note load command. This is because a segment load command
specifies that the contents should be loaded in memory, but we don't
use that loaded version. Instead, the VM reloads it from the executable
on disk so it can appropriately mmap the different parts of the
snapshot. A note section instead just declares a section of the
executable as arbitrary data that the owner can read from the file
and use as desired, which is semantically closer to our current usage.

This CL also adds a test to pkg/dartdev/test/commands/compile_test to
ensure that corrupting a random part of the snapshot in the executable
causes signature verification to fail.

This CL also reverts CL 256208, thus relanding the clang changes
starting from June that originally raised awareness of the issue by
greatly reduced the amount of padding after the load commands.

TEST=pkg/dartdev/test/commands/compile_test

Bug: https://github.com/dart-lang/sdk/issues/49783
Change-Id: Iee554d87b0eabaecd7a534ca4e4facfefbce6385
Cq-Include-Trybots: luci.dart.try:analyzer-mac-release-try,dart-sdk-mac-arm64-try,dart-sdk-mac-try,pkg-mac-release-arm64-try,pkg-mac-release-try,vm-kernel-precomp-mac-product-x64-try,vm-kernel-precomp-nnbd-mac-release-arm64-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/260108
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Daco Harkes <dacoharkes@google.com>
Commit-Queue: Tess Strickland <sstrickl@google.com>
2022-09-29 08:32:47 +00:00
Michael Thomsen eb2504dea3 Remove emoji from null safety terminal messages. They are not rendering correctly on Windows.
Followup to https://dart-review.googlesource.com/c/sdk/+/257642

Change-Id: Id0193dea51e164f20ccb7a3087cd2995a742f348
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/259300
Reviewed-by: Chloe Stefantsova <cstefantsova@google.com>
Commit-Queue: Michael Thomsen <mit@google.com>
2022-09-15 16:41:29 +00:00
Michael Thomsen 0b71ae22fa Fix a few test failures.
Followup to https://dart-review.googlesource.com/c/sdk/+/257642

Fix compile test failing on windows:
https://dart-ci.appspot.com/log/pkg-win-release/unittest-asserts-release-win/21931/pkg/dartdev/test/commands/compile_test

Fix IO tests failing:
https://dart-ci.appspot.com/log/app-kernel-linux-debug-x64/app_jitk-linux-debug-x64/11442/standalone_2/io/stdio_implicit_close_test

Change-Id: Icf8f046a6231168209fd0f0f9ebaa5e00fa5d836
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/258245
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Michael Thomsen <mit@google.com>
2022-09-08 15:34:03 +00:00
Michael Thomsen 6a274e3fe1 Update CFE compiler output for sound null safety in Dart 3
Fixes: https://github.com/dart-lang/sdk/issues/49924

Change-Id: I9ad951ce8ede57d295508bc6480d10b0204c2579
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/257642
Reviewed-by: Leaf Petersen <leafp@google.com>
Reviewed-by: Chloe Stefantsova <cstefantsova@google.com>
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Michael Thomsen <mit@google.com>
2022-09-08 10:09:23 +00:00
Tess Strickland be4d469e38 [pkg/dart2native] Refactor MachO parsing.
* Move parsing functions to static methods of the classes that
  represent the data being parsed.

* Move calculations for adjusting offsets in load commands into the
  corresponding classes.

* Make function to insert a new payload segment an instance method
  of MachOFile.

* Remove unnecessary abstractions and definitions for MachO load
  commands that we don't need to parse.

These refactorings are being done to make later changes easier to
review, by first lifting the initial refactorings out into a
separate CL.

Issue: https://github.com/dart-lang/sdk/issues/49783
Change-Id: I133eb368cbb9ee0d8e4f3998ba1a0bbe8555b8aa
Cq-Include-Trybots: luci.dart.try:analyzer-mac-release-try,dart-sdk-mac-arm64-try,dart-sdk-mac-try,pkg-mac-release-arm64-try,pkg-mac-release-try,vm-kernel-precomp-mac-product-x64-try,vm-kernel-precomp-nnbd-mac-release-arm64-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/256821
Reviewed-by: Daco Harkes <dacoharkes@google.com>
Commit-Queue: Tess Strickland <sstrickl@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
2022-09-07 11:32:37 +00:00
pq 1519292b7a [dart fix] dry-run individual code run details
Adds details to make applying individual fixes easier.

Example output:

```
3 proposed fixes in 1 file.

foo/baz/main.dart
  annotate_overrides • 1 fix
  prefer_single_quotes • 2 fixes

To fix an individual diagnostic, run one of the following commands:
  dart fix --apply --code=no_duplicate_case_values .
  dart fix --apply --code=unused_imports .

To fix all diagnostics, run:
  dart fix --apply .
```

See: https://github.com/dart-lang/sdk/issues/47219


Change-Id: Ibc89388acabe868fe3253d802e03481d853646ac
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/256367
Commit-Queue: Phil Quitslund <pquitslund@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2022-08-25 18:11:40 +00:00
pq 103a2fa642 [dart fix] detect and report un-enabled lints
Change-Id: Ie113348ae442f93ae2ea49afb2ed1b0305a6da03
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/256245
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
2022-08-25 04:23:12 +00:00
pq c0e74c4433 [dart fix] report undefined diagnostics
Fixes: https://github.com/dart-lang/sdk/issues/49699

Change-Id: Ia412e4dce51b0887c3cd0d9b6d91f0ace926bea3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/256243
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
2022-08-24 20:35:59 +00:00
Michael Richards 8d262e2944 [dartdev] This adds the ability for the Dart CLI to use the Resident Frontend Compiler for faster start times.
Dartdev will use the user's home directory to store the server information and will keep a directory for cached kernel files in each dart package's .dart_tool directory and in the .dart directory for stand alone dart programs.

This functionality is accessed by providing the --resident flag to the Dart CLI, and the server can be manually shutdown with the new shutdown command.

Change-Id: I5231a00b7535266ab0704ca3ae35c039738bd38b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/254341
Reviewed-by: Jake Macdonald <jakemac@google.com>
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Michael Richards <msrichards@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
2022-08-18 17:01:34 +00:00
pq f4ea96ff2c [dartdev] fix --code support
See: https://github.com/dart-lang/sdk/issues/47219

I'll follow up with tests for error conditions once diagnostic codes are validated by the protocol (see: https://dart-review.googlesource.com/c/sdk/+/255541).

Change-Id: I3318364e952522522608e86bdfdd231839685689
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/255544
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2022-08-18 16:51:54 +00:00
Danny Tuppeny 027618092a [dartdev] Fix flakey LSP server test
This test was written to assume that the stdout stream would deliver LSP headers and body in separate "packets", but wasn't guaranteed to be the case. The failure at https://dart-ci.appspot.com/log/pkg-linux-release/unittest-asserts-release-linux/19779/pkg/dartdev/test/commands/language_server_test shows that both header+body arrived together which caused the test to fail.

These changes buffer the output until the complete message is available and then return the body of the message.

Change-Id: I5a5ec49fdca667ae351e602ca2d589fd2ab06ba3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/251548
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2022-07-15 17:44:30 +00:00
Ben Konyi cc92eb0a7f [ CLI ] Fix LateInitializationError in DartDev when passed an invalid flag
`log` was previously initialized after argument parsing had already
taken place, which caused an exception when an invalid flag was passed
to DartDev as `log` was referenced in the `dart fix` command
description, which is accessed when building the usage message.

Also fixes a minor test failure related to usage line lengths not being
set correctly for `dart devtools`.

Fixes https://github.com/dart-lang/sdk/issues/49437

Fixed: 49437
Change-Id: Ib367677db5f34d7b6da31e51dbe717c954298ecf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/251241
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2022-07-12 18:22:42 +00:00
Lasse R.H. Nielsen 3fc0bf7e59 Retire the 2.17 language feature experiment flags.
Remove them from tests.
(They should have been removed from tests before launcing 2.17.)

Change-Id: I546f6cb90fdf9e6ed1bb560f3715f9db163b7c68
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/250384
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Devon Carew <devoncarew@google.com>
Commit-Queue: Lasse Nielsen <lrn@google.com>
2022-07-11 13:02:22 +00:00
Ben Konyi c50236ff9c [ CLI ] Ensure training arguments aren't parsed by the CLI for JIT snapshots
TEST=test/commands/compile_test.dart

Fixes https://github.com/dart-lang/sdk/issues/49302

Change-Id: I15462eb617de2dca042ee445b85084b8b8602f6d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/249340
Reviewed-by: Ryan Macnak <rmacnak@google.com>
2022-06-24 14:26:39 +00:00
Sam Rawlins 567b45fb1d Add the enable-experiment flag back to DAS
Bug: https://github.com/dart-lang/sdk/issues/48960
Change-Id: I6576f45e63e28902986db844df49a06a71385704
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/245202
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2022-06-16 16:26:39 +00:00
pq 467a1b05c0 dart fix for single files
Fixes: https://github.com/dart-lang/sdk/issues/43892

Change-Id: If1dca6bdef59e9de6dfd74e9774f61072651166d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/246160
Commit-Queue: Phil Quitslund <pquitslund@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2022-06-06 17:42:14 +00:00
Danny Tuppeny 3790378936 [dartdev] Fix test expectation when analysis results include warnings
Fixes https://github.com/dart-lang/sdk/issues/49098.

Change-Id: I930182207b51f44b7c371c4d38db440700e31514
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/245880
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2022-05-25 20:57:58 +00:00
Danny Tuppeny e00fe8a259 [dartdev] Don't filter out TODO errors from dart analyze if configured as warning/error
Fixes https://github.com/dart-lang/sdk/issues/49061.

Change-Id: I251d6a6c918023f4f8b4597dbb79dc02064898ef
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/245542
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2022-05-21 17:25:33 +00:00
Tess Strickland 4e520ec7a7 [pkg/dart2native] Handle cases where linker-signed is not an option.
Instead of assuming that linker-signed is a valid option flag for
codesign, only attempt to use it on macOS 11.0 or later, where
signatures on linker-signed binaries need not be force overwritten.
Otherwise, fall back to a regular signature that must be force
overwritten.

Bug: https://github.com/dart-lang/sdk/issues/49010
Cq-Include-Trybots: luci.dart.try:pkg-mac-release-arm64-try,pkg-mac-release-try
Change-Id: Ia2bff2f501dbe37b3269a2a2f16ce9a29026664e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/245000
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Tess Strickland <sstrickl@google.com>
2022-05-17 11:21:30 +00:00
Ben Konyi 95e7890d02 [ CLI ] Fix broken test
Change-Id: I3292d8b90c4f2ea147243cadfb6776aca5a47d31
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/244480
Reviewed-by: Danny Tuppeny <danny@tuppeny.com>
2022-05-11 16:33:30 +00:00