Change-Id: Ib61fea3bec110c0a2c560c965912c51a1c4e22cf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/368569
Reviewed-by: Lasse Nielsen <lrn@google.com>
Commit-Queue: Erik Ernst <eernst@google.com>
These were used for lazily computed ClassInfo.repr struct representation. But this is now eagerly computed so implementedBy is no longer used.
Change-Id: Ie8d28b110a1a7d109cc6e759b9cbe69c646829b4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/368763
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Nate Biggs <natebiggs@google.com>
Reviewed-by: Ömer Ağacan <omersa@google.com>
We do this by passing a CorrectionProducerContext up each of the
constructors. We can then remove all `configure` methods. This
requires a few changes and allows a few changes:
* Remove ParsedCorrectionProducer. It does not seem to have served a
purpose.
* CorrectionProducerContext no longer needs to be generic.
* Add a public getter for `MultiCorrectionProducer._context`, so that
a multi correction producer can pass along its context to child
correction producers.
* Introduce a `CorrectionProducerContext.instance` dummy variable,
used when we need to check if a correction producer can be applied
in bulk.
* Make `CorrectionProducerContext._node` public, so that it can be
used in factory constructors.
* `BulkFixProcesor.correctionContext()` return type is non-nullable.
* Add a factory constructor for AddMissingParameter, and move the
`configure` logic there.
* Add a factory constructor for ConvertAddAllToSpread, and move the
`configure` logic there. Then make `_isInlineInvocation` and
`_invocation` final.
* Add a factory constructor for ReplaceFinalWithVar, and move the
`configure` logic there. Then make `_removeFinal` and
`_finalKeyword` final.
* Add a factory constructor for ReplaceWithIsEmpty, and move the
`configure` logic there. Then make `fixKind`, `multiFixKind`,
`_binary`, and `_replacement` final.
* Rename `_AddMissingParameter.context` to `_executableParameters`,
and make it final.
Cq-Include-Trybots: luci.dart.try:flutter-analyze-try,analyzer-win-release-try,pkg-win-release-try
Change-Id: If0e9bc1cbf5c8e656938bc6cd4eb32a9d4f06b38
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/368760
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Make ARM64 disassembly closer to the standard form.
TEST=ci
Change-Id: I459093abe049835c6597b80c8020566054a12b48
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/368824
Reviewed-by: Alexander Aprelev <aam@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
This allows TypeAnalyzerOperations.getNullabilitySuffix to be removed,
and allows shared code to access nullability suffixes directly as
properties of a type, in the same way that the analyzer does.
Change-Id: I33ab90798b779534b5b0b111ec5137845b32f23b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/368443
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
There is no functional change, because all callers were passing `true`.
Change-Id: I59a70e16b543023ee84657cf4e0d7ef3e0d4de8e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/367420
Reviewed-by: Chloe Stefantsova <cstefantsova@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
This reverts commit 9c5085ec5b.
Reason for revert: b/343654390
Original change's description:
> [deps] rev args, async, benchmark_harness, boolean_selector, collection, dartdoc, markdown, shelf, web, web_socket_channel, webdev
>
> Revisions updated by `dart tools/rev_sdk_deps.dart`.
>
> args (cf90551..b3608bd):
> b3608bd 2024-05-28 Kevin Moore bump lints dep and fix (dart-lang/args#275)
>
> async (77a25d7..f933ddf):
> f933ddf 2024-05-28 Kevin Moore bump lints dep and fix (dart-lang/async#275)
>
> benchmark_harness (accc755..6fa42b0):
> 6fa42b0 2024-05-28 Kevin Moore bump lints dep and fix (dart-lang/benchmark_harness#106)
>
> boolean_selector (2cbd4a6..84467e5):
> 84467e5 2024-05-28 Kevin Moore bump lints dep and fix (dart-lang/boolean_selector#61)
>
> collection (4718398..fe2e800):
> fe2e800 2024-05-28 Kevin Moore bump lints dep and fix (dart-lang/collection#344)
>
> dartdoc (1e1a004..ed97585):
> ed975850 2024-05-28 Sam Rawlins Fix flutter CI with re-internalized snippets tool (dart-lang/dartdoc#3776)
>
> markdown (340c76f..c1013dc):
> c1013dc 2024-05-28 Kevin Moore update lints dependency (dart-lang/markdown#613)
> 7a3b8d6 2024-05-28 Sam Rawlins Bump to 7.2.3 (dart-lang/markdown#612)
>
> shelf (d9f82bf..338962c):
> 338962c 2024-05-28 Kevin Moore update lints dependency (dart-lang/shelf#433)
>
> web (d776645..f6f778b):
> f6f778b 2024-05-28 Kenzie Davisson Expose `onUnload` event stream and `ElementStream` as a public class (dart-lang/web#246)
> e1d5148 2024-05-23 Kevin Moore Update MDN source and doc comments (dart-lang/web#244)
> 53862f1 2024-05-22 Kevin Moore update lints dependency (dart-lang/web#243)
> 7604578 2024-05-21 Srujan Gaddam Only emit APIs that are standards track and not experimental (dart-lang/web#239)
>
> web_socket_channel (45b8ce9..afd1e3c):
> afd1e3c 2024-05-23 Brian Quinlan Remove `--fatal-infos` from `dart pub downgrade` analysis (dart-lang/web_socket_channel#367)
> cb20b71 2024-05-23 Sarah Zakarias Add `topics` to `pubspec.yaml` (dart-lang/web_socket_channel#362)
> 8514229 2024-05-22 Kevin Moore Bump and fix lints (dart-lang/web_socket_channel#366)
>
> webdev (fc32eb6..1bed26a):
> 1bed26ab 2024-05-28 Elliott Brooks Add a reload handler along with a restart handler (dart-lang/webdev#2439)
> 15028c4f 2024-05-24 Elliott Brooks Register a restart handler directly over the VM service connection (dart-lang/webdev#2437)
>
> Change-Id: I4e80ae77b6e74b9cd0b5524b1ba66e0f3de0a14e
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/368445
> Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
> Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
> Auto-Submit: Devon Carew <devoncarew@google.com>
Change-Id: Ief02507626fe2ef4e8a92e20872a0fec37ae3b71
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/368800
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Reviewed-by: Devon Carew <devoncarew@google.com>
Commit-Queue: Devon Carew <devoncarew@google.com>
Auto-Submit: Ivan Inozemtsev <iinozemtsev@google.com>
local_library_contributor is used only in the cider completions and should be alongside the rest of the cider completion code.
Change-Id: Id11ffaf50c59437a58284c6deb8ac406faf7cada
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/368660
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Keerti Parthasarathy <keertip@google.com>
Unrelated to anything. Done when I was trying something else that didn't
pan out.
Change-Id: Idd8e03fa142d3ec9d373956d3cc6163d828d4314
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/368801
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
There is no functional change, because all callers were passing `true`.
Change-Id: I304b0694946565bd765d3fd10fc2a77bda201117
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/368501
Reviewed-by: Chloe Stefantsova <cstefantsova@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
Shortens rebuilds of dart target after core library edits to
8s from ~24s
Change-Id: Ic66334f3810277fcdd2b26cd1bed4b72a824a0f9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/368802
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Martin Kustermann <kustermann@google.com>
After 9a9b33eb0b running the strong suite
(for instance) got noticeably slower.
The most obvious change is the we no longer cache uri translators,
and while that does add _something_, the main culprit for being quite
a bit slower is that it now verifies all fuzzing compiles too.
It didn't before.
Before running 1 of 10 shards took ~43 seconds, spending ~0.7 seconds on
getting uri translators and performing 298 verifications.
Now running the same thing takes ~64 seconds (in round numbers that's
+50%), spending ~3.7 seconds on getting uri translators and performing
3004 verifications.
Disabling verification when fuzzing makes it go to taking ~51 seconds,
spending ~4.2 seconds on getting uri translators and performing
298 verifications.
The main reason for the getting more uri translators (for the same run,
now: 1824, before: 293) is that the packages uri is now set on the
options (i.e. is non-null) making the incremental compiler force getting
a new uri translator (as the previous "known" was null, meaning that it
"matched" before (both was null), but doesn't now).
Fixing both of these and rerunning 5 times (turns out the runtimes vary
quite a bit) I get to (in seconds):
Before 9a9b33eb0b:
43
50
49
43
45
With this CL:
44
50
46
52
47
Where there's "no difference proven at 95.0% confidence".
Change-Id: Icc20083566cecb4daa27728c7801d50969d87e14
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/368643
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
The previous CL made it a pure virtual method, but if the IL printer
is not included, this implementation never gets overridden in
non-abstract subclasses.
TEST=ci
Cq-Include-Trybots: luci.dart.try:vm-ffi-android-release-arm-try
Change-Id: I904ff6facc94ff03f604f250a35de390212c2d31
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/368780
Auto-Submit: Tess Strickland <sstrickl@google.com>
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Tess Strickland <sstrickl@google.com>
The ASSERT checks that there will be no overflow in computing the byte
offset from the index. However, any instruction that uses this method is
preceded by a bounds check of the index, and an index that would cause
the byte offset calculation to overflow is guaranteed to fail the bounds
check. Thus, this is dead code that will never be executed at runtime
and it is okay to emit code to perform the erroneous offset calculation.
TEST=vm/dart/regress_55864
Fixes: https://github.com/dart-lang/sdk/issues/55864
Change-Id: If4126e412368b8307be3c787ccb6bd451764c73f
Cq-Include-Trybots: luci.dart.try:vm-aot-linux-debug-simarm_x64-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/368563
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Tess Strickland <sstrickl@google.com>
FlowGraphPrinter::PrintOneInstruction uses a stack-allocated
statically-sized buffer to print the instruction. If the instruction is
a block entry with initial definitions, then that buffer would need to
be large enough to hold the printed information for the block entry and
all of its initial definitions. However, in some pathological cases,
like the Dart fuzzer, graphs are created where the initial definitions
can end up truncated due to the use of a large number of constants.
Instead, add the following protected methods to
BlockEntryWithInitialDefs:
* PrintBlockHeaderTo, a pure virtual method that specifies how to print
the block header information, overridden in each subclass.
* PrintInitialDefinitionsTo, a non-virtual method that prints the
initial definitions. It takes an additional argument, a callback which
takes the buffer being used for printing, and invokes the callback
after printing each initial definition.
Also adds BlockEntryWithInitialDefs::PrintTo, which calls
PrintBlockHeaderTo and PrintInitialDefinitionsTo in sequence, providing
a no-op callback to the latter, and removes the PrintTo overrides in
the subclasses in favor of this base implementation.
Adjusts FlowGraphPrinter::PrintOneInstruction to call PrintBlockHeaderTo
and PrintInitialDefinitionsTo for BlockEntryWithInitialDefs
instructions, providing a callback that prints the current contents of
the buffer and then clears it. With this, it is unlikely using a
statically-sized stack-allocated buffer as an intermediate will cause
truncation, as each initial definition usually fits on a single line.
TEST=ci (internal debugging-only output, tested manually)
Issue: https://github.com/dart-lang/sdk/issues/55864
Change-Id: I7a7919cd6d76a22e018603240fe0ba6a09c2e6d3
Cq-Include-Trybots: luci.dart.try:vm-aot-mac-release-arm64-try,vm-aot-linux-debug-simarm_x64-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/368580
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Tess Strickland <sstrickl@google.com>
This is a follow-up to the previous CL adding support for named static
types and instantiations to macros
(https://dart-review.googlesource.com/c/sdk/+/348920).
The type argument on `StaticTypeImpl` was not necessary so this CL
removes it.
Change-Id: I1e309c819be86f7f81ba4b7a418ed1f22ba7ac8b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/368424
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Jake Macdonald <jakemac@google.com>
Constructors (say from a macro), typedefs (maybe from a part) and
FileUriExpression in general didn't write their file uri when different
from their surrounding container.
Change-Id: I70dc8cbb525a6fc2c1949e0d1fb1726ac19c6505
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/368566
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Change-Id: I9bd7f97eeec41a9efc608bea3911f3443c4d7063
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/368682
Auto-Submit: Phil Quitslund <pquitslund@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
This is consistent with the way we handle outstanding requests when the
service is disposed. Note that some of the devtools code in flutter
expects and handles this RPC error in some cases.
Change-Id: I56aae14f898b6d62b77d10ef50dec63ae96d507d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/367821
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Jackson Gardner <jacksongardner@google.com>
The test runner only runs files that end with "_test.dart". This is
evidenced by
https://dart-current-results.web.app/#/filter=pkg/dds/test&showAll
not showing any results for the tests renamed in this CL.
The tests renamed in this CL were found by runnning
`find pkg/dds/test | sed "/.*_test[.]dart/d"`
Some changes had to be made to
pkg/dds/test/client_resume_approvals_no_longer_require_permission_test.dart
after renaming it, the other tests did not have to be changed after
getting renamed.
Change-Id: Ib3b30ba784b182e4cc014d93aa5d8a792f8bb457
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/367700
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Derek Xu <derekx@google.com>