Commit graph

87207 commits

Author SHA1 Message Date
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
Paul Berry a74d3fc01d Shared type analysis for patterns: update to latest spec.
Make the following changes, based on
8a9b9a8a74:

- Replace `ConstOrLiteralPattern` nomenclature with `ConstantPattern`
  (the spec no longer speaks of "literal patterns").

- It is an error if a guard's type is not assignable to `bool`.

- Variable patterns can now be `final`.

- We now have a separate error condition to cover the case where a
  variable, list, map, record, or extractor pattern appears in an
  irrefutable context and the matched type is not assignable to the
  required type of the pattern.  (Previously such patterns were simply
  called "refutable", leading to a less clear error).

Additionally, we now consistenly use the term "guard" to refer to the
expression after a `when`, consistent with the spec text.

There are a few new TODOs, which I plan to address in follow-up CLs.

Change-Id: Ia0abab9492583f2aa8b59a9b381b90ba11b3e0fc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/259246
Reviewed-by: Chloe Stefantsova <cstefantsova@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2022-09-15 15:26:43 +00:00
Chloe Stefantsova dc4c7a1a8d [cfe] Extend UP and DOWN onto record types
Closes https://github.com/dart-lang/sdk/issues/49914

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

Change-Id: I49b1ca4ca9b68c8a8dfcdd9d0fc855f173088efe
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/258005
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Chloe Stefantsova <cstefantsova@google.com>
2022-09-15 14:09:53 +00:00
Ben Konyi db6311beca [ DDS ] Fix IsolateManager.initialize() not correctly handling Sentinel responses
Fixes https://github.com/flutter/flutter/issues/111482

Change-Id: I11eff2c140ea621550f33e2ddf0ab8092e9248db
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/259400
Commit-Queue: Ben Konyi <bkonyi@google.com>
Reviewed-by: Derek Xu <derekx@google.com>
2022-09-15 13:56:43 +00:00
Chloe Stefantsova f553f0aad9 [cfe,corelib] Add class 'Record' to the core library
Part of https://github.com/dart-lang/sdk/issues/49713

Change-Id: Ibb0309f97565c0a623f60e588eefcad6759d5ace
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/257066
Commit-Queue: Chloe Stefantsova <cstefantsova@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2022-09-15 11:50:33 +00:00
Aske Simon Christensen b6e227e6fa [dart2wasm] Implement typeAcceptsNull
This function is used internally to abstract over null safety modes.
Since dart2wasm is always fully null safe, the function is trivial.

Change-Id: I8d636d4ce146a2a848dde736d8563dcb0028f92a
Cq-Include-Trybots: luci.dart.try:dart2wasm-linux-x64-d8-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/258928
Commit-Queue: Aske Simon Christensen <askesc@google.com>
Reviewed-by: Leaf Petersen <leafp@google.com>
2022-09-15 10:01:43 +00:00
Johnni Winther 8ab14dc7a8 [frontend_server] Migrate most of the rest of frontend_server to null safety
Bug:https://github.com/dart-lang/sdk/issues/49212

Based on https://dart-review.googlesource.com/c/sdk/+/253301

Change-Id: I248846c30f1ce30de415c8a0722b680add83b9a6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/258922
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
2022-09-15 08:25:13 +00:00
Chloe Stefantsova 14c30c3f10 [cfe] Interpret undetermined nullability as nullable in UP
Closes https://github.com/dart-lang/sdk/issues/49908
Closes https://github.com/dart-lang/sdk/issues/49909

Change-Id: I55007394454f2acab0e69a948df84007fedfc3c9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/259182
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Chloe Stefantsova <cstefantsova@google.com>
2022-09-15 07:52:33 +00:00
Alexander Aprelev 2ca5300faf [benchmarks] Add sets of integers lookup benchmarks.
This measures performance of integer hashCode.

BUG=https://github.com/dart-lang/sdk/issues/48641
TEST=ci

Change-Id: I276d26127137c70d59581b3689b2319b8e123c1e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/259240
Commit-Queue: Alexander Aprelev <aam@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
2022-09-14 22:52:43 +00:00
Joshua Litt 8429f01593 [dart2wasm] Implement optional parameters for JS interop callbacks.
Also added tests of optional parameters for static interop functions.

Change-Id: Id23237b96d0de5a4a4b948b3f23fd1bfe40b218e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/259101
Reviewed-by: Srujan Gaddam <srujzs@google.com>
Commit-Queue: Joshua Litt <joshualitt@google.com>
2022-09-14 22:33:02 +00:00
Ian Hickson 9e9768c89d Simplify the license situation
There's no LICENSE file that mentions the Go authors in this repository, but since this code is covered by the CLA we can just move the name to the AUTHORS file and rely on the existing statement that references the Dart LICENSE file.

Change-Id: I3e8e04ef39e7ed6de0134cc33bf8a22e3d33389b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/250792
Commit-Queue: Michael Thomsen <mit@google.com>
Reviewed-by: Michael Thomsen <mit@google.com>
2022-09-14 21:06:22 +00:00
Kallen Tu 586efdfe59 Add ignores for dynamic calls in html_dart2js sanitizing code.
Avoid removing dynamic invocations in sanitizing code as we don't know what type the element and its attributes may be.

Change-Id: I057d908027befe7fd284bf4ec6c68bd1d0e977f4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/259108
Reviewed-by: Srujan Gaddam <srujzs@google.com>
Reviewed-by: Leaf Petersen <leafp@google.com>
Commit-Queue: Kallen Tu <kallentu@google.com>
2022-09-14 20:35:04 +00:00
Devon Carew 8541965089 [deps] rev http, mockito, shelf, and test
Change-Id: Ifb1bf92c9017a43c626104d115276cc49d883e13
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/259241
Commit-Queue: Kevin Moore <kevmoo@google.com>
Auto-Submit: Devon Carew <devoncarew@google.com>
Reviewed-by: Kevin Moore <kevmoo@google.com>
2022-09-14 20:29:32 +00:00
Konstantin Shcheglov dc0dbb01f8 Make NodeListImpl not resizable, update AstBuilder.
Change-Id: I1930b5fe863788198b5d88c0a08828980d935359
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/259103
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2022-09-14 20:12:12 +00:00
DEPS Autoroller 88371e4866 Roll Dart Documentation Generator from b0b0d6ace017 to 8e7871c2f54f (2 revisions)
https://dart.googlesource.com/dartdoc/+log/b0b0d6ace017..8e7871c2f54f

2022-09-14 srawlins@google.com Refactor renderers (#3163)
2022-09-14 srawlins@google.com Fix InterfaceElement assert for analyzer 5.0.0 (#3165)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/dart-doc-dart-sdk
Please CC dart-ecosystem-gardener@grotations.appspotmail.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Dart Documentation Generator: https://github.com/dart-lang/dartdoc/issues
To file a bug in Dart SDK: https://github.com/dart-lang/sdk/issues

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Tbr: dart-ecosystem-gardener@grotations.appspotmail.com
Change-Id: I7555996629be5f616a9ab2c7f029c6fce3dec47f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/259065
Commit-Queue: DEPS Autoroller <dart-autoroll@skia-public.iam.gserviceaccount.com>
Reviewed-by: Devon Carew <devoncarew@google.com>
Commit-Queue: Devon Carew <devoncarew@google.com>
2022-09-14 19:06:48 +00:00
Danny Tuppeny b3b2a1cebf [analysis_server] Change LSP types to use Uri types instead of Strings
This requires some tweaks to to/from JSON code, and some handling for Maps that previously could be serialised directly but now may contain `Uri`s in keys and need to be converted to strings explicitly (since Uri has no toJson method).

Change-Id: I61358d8198ac1da322fae98d6c40747ad08754b7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/258927
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2022-09-14 18:58:44 +00:00
Johnni Winther 13b5ca415f [cfe] Don't add super-initializer and body to external constructors
Closes #28565

Change-Id: Ic1eb554cab2723bb16291216d127bae30f965292
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/259160
Reviewed-by: Mayank Patke <fishythefish@google.com>
Reviewed-by: Chloe Stefantsova <cstefantsova@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2022-09-14 18:48:43 +00:00
Brian Quinlan fa53fb66d0 Throw an error if an attempt is made to create more than one resource from a ResourceHandle
Change-Id: I629d2b9cfddd8e5f7fe8ae65a03362c7bcce5e2c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/257000
Reviewed-by: Alexander Aprelev <aam@google.com>
Commit-Queue: Brian Quinlan <bquinlan@google.com>
2022-09-14 18:17:33 +00:00
Riley Porter c229ff56b2 [dart:html] Update prototype CSS properties script to match views model
Change-Id: I0bcea8e59b6d92b8a0aea82d64ca4266ec12869c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/259062
Commit-Queue: Riley Porter <rileyporter@google.com>
Reviewed-by: Srujan Gaddam <srujzs@google.com>
2022-09-14 18:00:52 +00:00
Riley Porter b94d9ab29b [dart:html] Add script to generate dart:html prototype legacy events
Adds a flag `--generate-prototype-events` to the dart:html generation
scripts, which causes a `prototype_events.dart` file to be generated
with EventStreamProviders and extensions for all events generated
in legacy dart:html. The generated file can be copied and pasted into `html_events.dart` to be used in the new dart:html prototype.

The script `prototype_htmleventgenerator.py` reuses as much common functionality as possible from the `htmleventgenerator.py`.

There were many edge cases to consider, like:
  - de-conflicting names with different event types (e.g. ProgressEvent onError vs SpeechRecognitionErrorEvent onError)
  - hiding deprecated types that don't appear in the Web IDL and haven't been needed in the glue code prototype yet
  - renaming extension on-types that have been renamed from the Web IDL
  - hiding custom events, which then need to be added to the prototype by hand
  - prefixing some events with the correct web library

Change-Id: I6ab944d74ede6d8a2178bbf9aa580a6ab7d67a77
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/259063
Commit-Queue: Riley Porter <rileyporter@google.com>
Reviewed-by: Srujan Gaddam <srujzs@google.com>
2022-09-14 17:55:03 +00:00
Ryan Macnak 596a982286 [vm] Initialize DartInitializationState in a way MSAN will accept.
TEST=msan
Change-Id: I33cf5c340ed89ce14141282e9a743acc6803f14b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/259061
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
2022-09-14 17:38:29 +00:00
Paul Berry 625357cc3b AstBuilder: add a temporary data structure for parenthesized conditions.
Previously the AstBuilder used a temporary ParenthesizedExpression
node for this purpose.  Using a custom data structure belonging to the
AstBuilder is less hacky, and paves the way for supporting more
complex conditions (such as those that arise in the `if-case`
construct in the "patterns" feature).

Change-Id: I623cf484d400aef44e835ee95a55903d80aa11a1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/259105
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2022-09-14 17:31:38 +00:00
Paul Berry 22a405bf8a Add a test case for #44394
This issue (Migration tool null safety detection fails when tests use
path imports) was reported in December of 2020 and I can't reproduce
it.  I believe there have been changes in analyzer package resolution
since then, aimed precisely at helping users who use this sort of
improper path import.  So it is likely that those changes fixed this
bug.

I'm adding a test case to ensure that the bug isn't accidentally
un-fixed by future changes.

Bug: https://github.com/dart-lang/sdk/issues/44394
Change-Id: I81490e545aa41196c3c69bc4d74cd481079d59ba
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/259200
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Samuel Rawlins <srawlins@google.com>
2022-09-14 16:10:42 +00:00
Johnni Winther 6795c753fd [cfe] Handle unnamed extensions in parts
This introduces a MemberName abstraction that supports the late
computation of member names, taking privacy and synthesized names
of unnamed extensions into account. With this feature, the unnamed
extension are now more directly handled as having no (known) name
which avoids the clash between the eagerly synthesized named of
unnamed extensions in different parts.

Closes #48765

TEST=existing

Change-Id: I62c00ace017141ecbc61eeecb275d0211f341c82
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/258800
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Daco Harkes <dacoharkes@google.com>
2022-09-14 14:44:12 +00:00
Danny Tuppeny 15dfda917a [analysis_server] Support inlay hints for parameter names
Change-Id: I436d3e460759f58d6a87e8cc8742b0c7736f4f5e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/259181
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2022-09-14 14:17:02 +00:00
Chloe Stefantsova 8d5e20eb8f [cfe] Add temporary testing framework for pattern desugarings
Part of https://github.com/dart-lang/sdk/issues/49749

Change-Id: Ifb46078eb24b5c5288847ae95f1a0e584830335e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/259180
Commit-Queue: Chloe Stefantsova <cstefantsova@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2022-09-14 13:55:52 +00:00
Aske Simon Christensen 35e35f5786 [dart2wasm] Support different default values within the same selector
Default parameter values are implemented in dart2wasm via caller-side
substitution. When the same parameter has different default values
across different implementations within the same selector, a
special sentinel value is passed by the caller, and the callee
checks for this value and substitutes the actual default value.

Change-Id: I8235145f93c2aee7e9ef603456380253b836fcef
Cq-Include-Trybots: luci.dart.try:dart2wasm-linux-x64-d8-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/259040
Commit-Queue: Aske Simon Christensen <askesc@google.com>
Reviewed-by: Joshua Litt <joshualitt@google.com>
2022-09-14 13:43:52 +00:00
Aske Simon Christensen 99ad190028 [dart2wasm] Implement super tear-offs
Change-Id: I7686a1a1ae4f91e1ffe6f6dd6c3d2f7c4341f80b
Cq-Include-Trybots: luci.dart.try:dart2wasm-linux-x64-d8-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/258924
Reviewed-by: Joshua Litt <joshualitt@google.com>
2022-09-14 13:43:52 +00:00
Aske Simon Christensen 8ae4802e05 [dart2wasm] Dummy isolate patch
Change-Id: Id748ef2f69c09592513ba6a3cffafc37a8450d00
Cq-Include-Trybots: luci.dart.try:dart2wasm-linux-x64-d8-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/258921
Reviewed-by: Joshua Litt <joshualitt@google.com>
2022-09-14 13:43:52 +00:00
Aske Simon Christensen 33a5b3e270 [dart2wasm] Implement instantiation constants
Change-Id: If602ecc06fabf2581484b90547d0dbcfbb5d30e0
Cq-Include-Trybots: luci.dart.try:dart2wasm-linux-x64-d8-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/257362
Reviewed-by: Joshua Litt <joshualitt@google.com>
2022-09-14 13:43:52 +00:00
Ömer Sinan Ağacan 5c2efead72 Delete tests for wasm package
The package 'wasm' was moved to https://github.com/dart-lang/wasm in
063d0ef286.

Some of the tests for this package in pkg/wasm/test were duplicated
(probably with some changes) in tests/lib/wasm, and the commit that
moved the package to the new repo forgot to remove those duplicated
tests. This commit removes them.

Change-Id: I24ecbab99a383319482a2220623449bd516e6528
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/258926
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Ömer Ağacan <omersa@google.com>
2022-09-14 13:34:03 +00:00
dependabot[bot] 8644b02080 Bump github/codeql-action from 2.1.21 to 2.1.22
Closes https://github.com/dart-lang/sdk/pull/49948

GitOrigin-RevId: a97ee973289227457632d629a2696d5e0ceaddf9
Change-Id: I69a1b63bf4749450791e4c2397d504203df88134
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/258762
Reviewed-by: Alexander Thomas <athom@google.com>
2022-09-14 12:59:33 +00:00
dependabot[bot] b27caa6717 Bump ossf/scorecard-action from 1.1.2 to 2.0.2
Closes https://github.com/dart-lang/sdk/pull/49947

GitOrigin-RevId: 8ff482cc9b970be62d47f69ecfad0c4c46f7fd07
Change-Id: I76786b291d578be3e07e5805a93fac46273f9237
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/258760
Reviewed-by: Alexander Thomas <athom@google.com>
2022-09-14 12:59:08 +00:00
Kallen Tu aad35b490f Remove dynamic invocations in error handling in directory_impl.
Change-Id: Idb1ac4490efd74a2ff98a3d9f0c57a74299ce413
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/258512
Reviewed-by: Lasse Nielsen <lrn@google.com>
Reviewed-by: Leaf Petersen <leafp@google.com>
Commit-Queue: Kallen Tu <kallentu@google.com>
2022-09-14 07:24:53 +00:00
Nate Bosch 4198020cce Bump shelf to ca731ab09eba26d6e301fbc882a65621cb3cfed4
Changes:
```
> git log --format="%C(auto) %h %s" 6f80ea1..ca731ab
 https://dart.googlesource.com/shelf.git/+/ca731ab Add a poweredByHeader argument to server (#272)

```

Diff: https://dart.googlesource.com/shelf.git/+/6f80ea14fcd13c911bd31d32260bf1f97ad799b1~..ca731ab09eba26d6e301fbc882a65621cb3cfed4/
Change-Id: I6f828214c084591ca5e9827ab2f6de07b626fbbe
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/259107
Commit-Queue: Nate Bosch <nbosch@google.com>
Reviewed-by: Kevin Moore <kevmoo@google.com>
Commit-Queue: Kevin Moore <kevmoo@google.com>
Auto-Submit: Nate Bosch <nbosch@google.com>
2022-09-13 23:50:01 +00:00
asiva 3cdeb58c98 [VM/Runtime] - Use 'const' qualifier for CObject typed data
Addresses https://github.com/dart-lang/sdk/issues/49827

TEST=ci

Change-Id: I525cc27d0bf01945d4f700f48355a3f17e297007
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/256602
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Siva Annamalai <asiva@google.com>
2022-09-13 22:38:22 +00:00
Brian Quinlan 2ead86ab9d Implement anonymous pipes and the ability to transmit them between processes using Unix Domain Sockets.
Change-Id: I9c9f4ec0e99075a29c6f4d97c503e759134eb094
TESTED=Unit tests
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/257804
Commit-Queue: Brian Quinlan <bquinlan@google.com>
Reviewed-by: Lasse Nielsen <lrn@google.com>
Reviewed-by: Alexander Aprelev <aam@google.com>
2022-09-13 21:16:28 +00:00
DEPS Autoroller e324ada968 Roll Dart Documentation Generator from c64f800bd6a7 to b0b0d6ace017 (8 revisions)
https://dart.googlesource.com/dartdoc/+log/c64f800bd6a7..b0b0d6ace017

2022-09-13 srawlins@google.com Use toList(growable:false) more (#3151)
2022-09-13 srawlins@google.com Make Warnable.package non-nullable (#3155)
2022-09-13 parlough@gmail.com Update scorecard action to v2.0.3 (#3162)
2022-09-13 srawlins@google.com Bump to 6.1.1 (#3161)
2022-09-12 srawlins@google.com Allow analyzer 5.0.0 (#3160)
2022-09-12 srawlins@google.com Make Extension.typeParameters late final (#3150)
2022-09-12 srawlins@google.com Fix HTML of features (#3147)
2022-09-12 srawlins@google.com Improve assert of function typedef (#3158)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/dart-doc-dart-sdk
Please CC dart-ecosystem-gardener@grotations.appspotmail.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Dart Documentation Generator: https://github.com/dart-lang/dartdoc/issues
To file a bug in Dart SDK: https://github.com/dart-lang/sdk/issues

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Tbr: dart-ecosystem-gardener@grotations.appspotmail.com
Change-Id: I96e0843c13d07f35e1bab57cacaddd747f54e00b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/259081
Commit-Queue: DEPS Autoroller <dart-autoroll@skia-public.iam.gserviceaccount.com>
Reviewed-by: Devon Carew <devoncarew@google.com>
Commit-Queue: Devon Carew <devoncarew@google.com>
2022-09-13 19:31:20 +00:00
Konstantin Shcheglov 3945c9aa71 Use builders in AstBuilder to build ClassDeclarationImpl, etc.
Relatved to https://dart-review.googlesource.com/c/sdk/+/259020

The goal is to avoid the need to update NodeListImpl.
I'm not 100% sure that we can fully achieve this, there is at least
one more place with switch / case.

Change-Id: Ic7468a7b9ded817b3315902cefdeaa7428ec6857
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/259100
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2022-09-13 18:30:27 +00:00
Brian Wilkerson d1fbc73bf1 Add tests for selectionRange and signatureHelp with records
I don't believe that we need to implement anything new for these two
protocols to work correctly, and these tests are intended to demonstrate
that that's the case. The tests aren't intended to be exhaustive, but if
there are areas that you think should be tested, or aspects of the
protocols that you think might be impacted by records, please let me
know.

Change-Id: Id37fa4764b5d1d69cb7fb31f1a035e517043e96a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/259060
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Danny Tuppeny <danny@tuppeny.com>
2022-09-13 17:37:18 +00:00
Paul Berry a7cebc7349 Shared type analysis for patterns: Refactor VariableBindings logic.
This change refactors the logic for detecting overlapping and missing
variable patterns so that it can be invoked prior to the rest of type
analysis, rather than during it.  In addition separating concerns
nicely (since no types are involved in these checks), I believe this
will facilitate integration with the analyzer and front end, by
allowing them to detect these errors and find the unique set of
variables defined by a pattern, at the time they are resolving
identifiers to their corresponding declarations.

Change-Id: I40879fca46d39e78a60813db007983e57a3aec31
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/259021
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2022-09-13 17:07:48 +00:00
Johnni Winther 4ef2914caa [kernel] Update VariableDeclaration.name comment
Change-Id: I40336a0ea93b5384bd73e7c8810cdac8d029a014
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/258925
Commit-Queue: Nicholas Shahan <nshahan@google.com>
Reviewed-by: Nicholas Shahan <nshahan@google.com>
Auto-Submit: Johnni Winther <johnniwinther@google.com>
2022-09-13 16:17:07 +00:00
Danny Tuppeny ba479310b3 [analysis_server] Include implicit parameter types in inlay hints
Change-Id: If1b116cfc2a6fac00c20951e702a7d1a978e5421
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/258808
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2022-09-13 16:06:27 +00:00
Danny Tuppeny 1b9adcb502 [dds/dap] Normalise Windows drive letters to avoid missing breakpoints
See https://github.com/dart-lang/sdk/issues/32222.
See https://github.com/Dart-Code/Dart-Code/issues/4149.

Change-Id: I6f975734839ff7cad4d086d5363c0ab03390b966
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/258900
Commit-Queue: Ben Konyi <bkonyi@google.com>
Reviewed-by: Ben Konyi <bkonyi@google.com>
2022-09-13 13:24:47 +00:00
Lasse R.H. Nielsen e4ae0cf2ce Make Uri treat \ as / in path and authority.
When using `Uri.parse` or `Uri(path:..)`, a `\` is treated as, and converted to, a `/`.
This avoids a particular problematic difference in behavior between Dart and the browser's `URL` functionality. There are still examples where the two differ in interpretation of the same code, but in those cases, the Dart `Uri` will most likely end up without a host name, which should be easily detected.


Change-Id: I798df6c3c27c6d64fb9fc8dc30d90b06ba5a9004
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/258120
Reviewed-by: Nate Bosch <nbosch@google.com>
Reviewed-by: Michael Thomsen <mit@google.com>
Commit-Queue: Lasse Nielsen <lrn@google.com>
2022-09-13 11:48:19 +00:00
Chloe Stefantsova b5972073a9 [cfe] Add WildcardBinder and ListBinder internal AST nodes
Part of https://github.com/dart-lang/sdk/issues/49749

Change-Id: Ic47effd09ebb38568a9c7847e658d22f03b2d873
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/258806
Commit-Queue: Chloe Stefantsova <cstefantsova@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2022-09-13 09:00:08 +00:00
Alexander Thomas 14da46cfaa [release] Add changelog for 2.18.1
Change-Id: I754a5ae6a52e3be01dd90491f11dd642f77a5ec9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/258923
Reviewed-by: Michael Thomsen <mit@google.com>
2022-09-13 07:58:49 +00:00
Aske Simon Christensen 72797a3761 [dart2wasm] Make type parameters available in async return types
Change-Id: I117647010dfe2f6b60b5124d99ad250af4a491be
Cq-Include-Trybots: luci.dart.try:dart2wasm-linux-x64-d8-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/258805
Reviewed-by: Joshua Litt <joshualitt@google.com>
Commit-Queue: Aske Simon Christensen <askesc@google.com>
2022-09-13 07:03:18 +00:00
Aske Simon Christensen 98055e5b86 [dart2wasm] Fix vtable offsets for closures with named parameters
Change-Id: I4a2916e52d371937d11b2b6d5c878355b55e742b
Cq-Include-Trybots: luci.dart.try:dart2wasm-linux-x64-d8-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/258804
Reviewed-by: Joshua Litt <joshualitt@google.com>
Commit-Queue: Aske Simon Christensen <askesc@google.com>
2022-09-13 06:49:08 +00:00
Alexander Markov e36a39437c [vm] Record field access operations
TEST=language/records/simple/literals_and_field_access_test
TEST=language/records/simple/constants_and_field_access_test
TEST=language/record_type_test

Issue: https://github.com/dart-lang/sdk/issues/49719
Change-Id: I727b6ced0a70fa4f6513cb7bacce5796404e514c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/257924
Commit-Queue: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
2022-09-12 23:16:26 +00:00