Commit graph

918 commits

Author SHA1 Message Date
Lasse R.H. Nielsen 2c36db9b0a Deprecate IntegerDivisionByZeroException.
Deprecates the class and makes it implement `Error` (more specifically
`UnsupportedError`).
Code throwing `IntegerDivisionByZeroException` should be migrated to
throwing `unsupportedError` directly, code catching the exception class
should start catching `UnsupportedError` immediately (or reconsider why
they are catching at all).

Integer division by zero also covers other ways that a double division
can give a non-number result (any infinity or NaN result of the division prior to calling `truncate()` on the result, will cause `~/` to throw).

Fixes #46776

Bug: https://github.com/dart-lang/sdk/issues/46776
Change-Id: Idf2657153dd16542e72c6ba921f587dd9fc9032a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/208643
Reviewed-by: Nate Bosch <nbosch@google.com>
Commit-Queue: Lasse R.H. Nielsen <lrn@google.com>
2021-10-19 16:07:52 +00:00
Sigmund Cherem 38b5a841de [dart-web] Remove dart:web_sql library.
The WebSQL standard was abandoned more than 10 years ago and is not
supported by many browsers.

The `dart:web_sql` library was marked as deprecated in Dart 2.14. This
CL makes the library inaccesible, removes support for `dart:web_sql` imports,
and removes the `Window.openDatabase` API. The old code for `dart:web_sql` is
still generated by the html generators. Removing that will be handled by a
separate change.

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

Change-Id: I892107396b3b227b4f33344377585aa5e5328288
Bug: https://github.com/dart-lang/sdk/issues/46316
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/216080
Reviewed-by: Srujan Gaddam <srujzs@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
2021-10-19 01:00:08 +00:00
Riley Porter d17fd4b14f Reland "Re-land "Add a generic return type for js_util functions""
This reverts commit b70a134933.

Reason for revert: google3 linter bugs disabled with a comment and Flutter PR with new js_util landed with ignore comments. Should be safe to reland.

Original change's description:
> Revert "Re-land "Add a generic return type for js_util functions""
>
> This reverts commit 66cbeb6718.
>
> Reason for revert: Causes dart analyzer and dart linter to find
> issues within google3 and flutter, causing breakages and blocking
> the roll.
>
> Original change's description:
> > Re-land "Add a generic return type for js_util functions"
> >
> > This relands commit 46486cf260.
> >
> > The differences from the original commit:
> >   - jsify is no longer being made generic
> >   - Updated the CHANGELOG
> >
> > Change-Id: Ibc3402833cce2babbec9a57ad73963d7b9442ed8
> > Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/216920
> > Commit-Queue: Riley Porter <rileyporter@google.com>
> > Reviewed-by: Sigmund Cherem <sigmund@google.com>
>
> TBR=sigmund@google.com,srujzs@google.com,rileyporter@google.com
>
> Change-Id: Ic2ff63bc9658ccafcab3db75bdd06814d2f17b76
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/216963
> Reviewed-by: Siva Annamalai <asiva@google.com>
> Commit-Queue: Siva Annamalai <asiva@google.com>

# Not skipping CQ checks because original CL landed > 1 day ago.

Change-Id: Ia8c753b568b0aca10e7784126048bddd9e1ab976
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/217148
Reviewed-by: Riley Porter <rileyporter@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Riley Porter <rileyporter@google.com>
2021-10-18 18:41:53 +00:00
Siva Annamalai b70a134933 Revert "Re-land "Add a generic return type for js_util functions""
This reverts commit 66cbeb6718.

Reason for revert: Causes dart analyzer and dart linter to find
issues within google3 and flutter, causing breakages and blocking
the roll.

Original change's description:
> Re-land "Add a generic return type for js_util functions"
>
> This relands commit 46486cf260.
>
> The differences from the original commit:
>   - jsify is no longer being made generic
>   - Updated the CHANGELOG
>
> Change-Id: Ibc3402833cce2babbec9a57ad73963d7b9442ed8
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/216920
> Commit-Queue: Riley Porter <rileyporter@google.com>
> Reviewed-by: Sigmund Cherem <sigmund@google.com>

TBR=sigmund@google.com,srujzs@google.com,rileyporter@google.com

Change-Id: Ic2ff63bc9658ccafcab3db75bdd06814d2f17b76
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/216963
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Siva Annamalai <asiva@google.com>
2021-10-15 03:40:28 +00:00
Riley Porter 66cbeb6718 Re-land "Add a generic return type for js_util functions"
This relands commit 46486cf260.

The differences from the original commit:
  - jsify is no longer being made generic
  - Updated the CHANGELOG

Change-Id: Ibc3402833cce2babbec9a57ad73963d7b9442ed8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/216920
Commit-Queue: Riley Porter <rileyporter@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2021-10-14 22:56:45 +00:00
pq 53a3080c25 linter 1.13.0
NOTE: this release introduces a new dependency on `test_reflective_loader`; the SDK roll that picks this up will need to update the linter's `dart_vm_test` target in `third_party/dart/linter/BUILD` to include it.



Change-Id: Ica8e200d333a2574abefa3c56df1153869259adc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/216263
Commit-Queue: Phil Quitslund <pquitslund@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2021-10-14 12:07:52 +00:00
Erik Ernst 63e5b0db57 Update CHANGELOG.md to include information about function updates
In 2.15, function objects have had their specification and
implementation updated such that several inconsistencies have been
eliminated, and the specification has been clarified and generalized.
In particular, equality is now more consistent and compositional,
canonicalization is applied also for expressions that are constant
but not in a constant context, generic instantiation gives rise to
function objects that are identical/equal in cases where they weren't
previously, and similarly for some tearoffs.

Change-Id: Ic26bbc1f047500c1030f52fe69bb06963b0193f9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/216289
Reviewed-by: Michael Thomsen <mit@google.com>
Commit-Queue: Erik Ernst <eernst@google.com>
2021-10-14 09:23:52 +00:00
Alexander Aprelev 3b1d941ae8 [io/sendmessage] Update CHANGELOG with note about newly added RawSocket sendMessage/receiveMessage
Bug: https://github.com/dart-lang/sdk/issues/46328
Change-Id: Ibab66e04c61647968cc8531cfc7533f3a8d7daad
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/216700
Commit-Queue: Alexander Aprelev <aam@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
2021-10-13 18:24:26 +00:00
Alexander Thomas d146c8e0e9 [release] Add release notes for 2.14.4
Change-Id: Ib27a83ae929dcb9514439df791d6d5028eb63a35
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/216620
Reviewed-by: Michael Thomsen <mit@google.com>
2021-10-13 09:02:30 +00:00
Michael Thomsen edb76fa0a7 Add changelog entry for TLS change
Change-Id: I0fe114426b0b0747d5080ab5bbbf6d2334d222d6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/215404
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Michael Thomsen <mit@google.com>
2021-10-05 13:25:30 +00:00
Robert Nystrom b927288ed1 Remove "dartfmt" entrypoint from the SDK.
Change-Id: I32a9f95d7b22d3311767ba22c350f197592abcab
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/215300
Reviewed-by: Michael Thomsen <mit@google.com>
Commit-Queue: Bob Nystrom <rnystrom@google.com>
2021-10-04 18:40:57 +00:00
Alexander Aprelev 48db681c66 [vm/sendandexit] Add CHANGELOG for Isolate.exit([port, message]) change.
This is follow-up to 56403a0d35.

Change-Id: I222c04fd4d41e272eeb3e8fd62c55035eee1c12c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/215143
Reviewed-by: Kevin Moore <kevmoo@google.com>
Commit-Queue: Alexander Aprelev <aam@google.com>
2021-10-01 22:04:36 +00:00
Alexander Thomas 06bb7992d2 [release] Add release notes for 2.14.3
Change-Id: I23ef2861a264670023b16964d49cca3c0ee4199a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/214940
Reviewed-by: Michael Thomsen <mit@google.com>
2021-09-29 10:54:42 +00:00
Lasse R.H. Nielsen bdbd3c0602 Make unawaited accept a nullable argument.
The associated `unawaited_futures` lint triggers for expressions
of type `Future?` as well, so we should allow the workaround to
handle such expressions.

This change makes a static function more permissive, and is not expected
to be breaking in any way.
(It does mean that you need Dart 2.15.0 to use the function with
nullable arguments. I've changed the annotation to say `@Since("2.15")`.
That means anyone using a 2.15 SDK should assume that they need a 2.15
SDK to use it, and someone using a 2.14 SDK will not see the argument
as nullable. If anyone uses `@Since` annotations for anything at all.)

Change-Id: Ib2da4b353104cc88a834208a6ebd788ae55b4544
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/214406
Commit-Queue: Lasse R.H. Nielsen <lrn@google.com>
Reviewed-by: Nate Bosch <nbosch@google.com>
2021-09-27 11:58:16 +00:00
Leaf Petersen 8a9a2e4066 Add CHANGELOG message for constructor tearoffs beta release.
Change-Id: I5f25129fdad1cb58b9f7c03797d18d1712092372
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/212521
Reviewed-by: Bob Nystrom <rnystrom@google.com>
2021-09-24 18:34:20 +00:00
Lasse R.H. Nielsen 18f37dd8f3 Add extension name getter on Enum.
We use an extension getter instead of an instance getter because
it doesn't conflict with any potential existing or future enums
which want an element named `name`.
Keeping the namespace for enum elements open is a priority.
We currently only reserve `index` and `values`.

BUG: https://github.com/dart-lang/language/issues/1511

Fixes language issue #1511, which is a long-standing request,
and should replace a number of alternative implementations
which are based on parsing the `toString()`.


This version has two fields on the shared superclass, the index
and private name, and has a separate `toString` for each `enum` class
which hard-codes that enum's class name.

An earlier version had both `"name"` and `"ClassName.name"` as fields
to be able to reuse the same `toString` method on all enum classes,
but that cost too much for JS compiled code.
Even having just `ClassName.` as a field and then combining inside
`toString` requires more code to create the enum instances.
Instead this version hardcodes the `ClassName.` string once
in the `toString` method, which means each enum class has its own
toString (which can *potentially* be tree-shaken then.)

This still tree-shakes slightly worse than the previous implementation
where every enum class had its own `index` and `_name` fields
independent of each other, which could then be tree-shaken independently.
However, the `index` was already made an interface member with the
addition of the `Enum` interface, so code which accesses `.index`
on something of the `Enum` supertype could prevent tree-shaking of
all enum classes' `index` fields.
Likewise any general access to the "name" of an enum would necessarily
do the same for the name.
This CL makes up for some of that by sharing more implementation
between enum classes.

DartVM AOT CodeSize impact: ~0.15% regression on gallery (little less on big g3 app)

TEST= New tests added to enum_test.dart

Change-Id: Id25334e6c987f470f558de3c141d0e3ff542b020
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/210480
Commit-Queue: Lasse R.H. Nielsen <lrn@google.com>
Reviewed-by: Stephen Adams <sra@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2021-09-22 14:20:16 +00:00
Martin Kustermann 7e108dc53d [vm/concurrency] Add CHANGELOG.md entry for work on isolates
Issue https://github.com/dart-lang/sdk/issues/46754
Issue https://github.com/dart-lang/sdk/issues/36097

TEST=ci

Change-Id: Ic0b1ecf88790576ae1f31b6a003b2175b9af1c66
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/213343
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: Kevin Moore <kevmoo@google.com>
2021-09-22 08:39:35 +00:00
pq f1824fb1e7 linter 1.12.0
Change-Id: I1dd5a8b56144ce48d38eea0d1ef64e5f7a983552
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/213841
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
2021-09-20 18:32:11 +00:00
Alexander Thomas a6f97d13fc [release] Add release notes for 2.14.2
Change-Id: If57db9e64e2e351acd5232830af3d2cc355e640e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/213460
Reviewed-by: Michael Thomsen <mit@google.com>
2021-09-15 09:57:04 +00:00
Ahmed Ashour d6975c1905 master branch to main
Fixes #47190

TEST=None, only markdown files where edited.

Change-Id: Ife204f9c792b6bce30d0cd7bf2260ced11c8f2b4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/213049
Reviewed-by: Nicholas Shahan <nshahan@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
2021-09-15 06:22:23 +00:00
Sigurd Meldgaard d787e78d21 Bump pub
New commits in this revision:

git log --format=%C(auto) %h %s cafadd17ba285dad9ebe6d34c617bc0d70d096b3..98a01e1cdbf441f030f1be76417860b6b372663d ✓
 cafadd17 Don't use null safety (yet) (#3112)
 98a01e1c Store credentials in a config directory (#3092)
 4ee280b7 Fixed messages (#3110)
 bbdac802 Third party hosted pub registry authentication (#3007)
 b1bedc53 `--examples` for get/upgrade/downgrade/add/remove (#2857)

Change-Id: Ibf6ffe33820c97114958c1564a7c22a46ff73d9c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/213348
Commit-Queue: Sigurd Meldgaard <sigurdm@google.com>
Reviewed-by: Jonas Jensen <jonasfj@google.com>
2021-09-14 16:05:00 +00:00
Sigurd Meldgaard a7041168e7 Roll pub
New commits in this version:

git -C third_party/pkg/pub log --oneline cd7a43f2109f7e5eb22e73c7f4e15d25fd57598e..d95c5713dda518ed53ada70e00789e6aadbfbe48
d95c5713 (HEAD, origin/master, origin/HEAD) Remove duplicate global invocation on Windows (#3055)
4c5198df master->main (#3101)
e793fd52 More tool/test.dart tweaks (#3097)
1b228edd Report retracted packages (#3093)
4fedb6c5 Tweak strict dependencies error message for `_validateBenchmarkTestTool` (#3087)
e608ab6e Improve test script (#3091)
abf702c4 Detect potential leaks in `dart pub publish`. (#3049)
9941c1f9 Fix broken simplification of prerelease constraints (#3078)
f0cdfa27 format (#3086)
5a1242c6 Fix unicode terminal detection windows (#2933)
58e2296d Dart format (#3084)
1426601c use incremental compilation in the tool/test.dart script (#3075)
9954f851 Fix a typo (#3062)
44489b31 Use relative import for path.dart (#2959)
77702ab1 Always precompile scripts before running them (#3074)

Change-Id: I913ab9e3b5bc7181d483a2de96ec4ad917028b75
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/213262
Reviewed-by: Jonas Jensen <jonasfj@google.com>
Commit-Queue: Sigurd Meldgaard <sigurdm@google.com>
2021-09-13 11:02:19 +00:00
Michael Thomsen dca853faca Add 2.14.1 to changelog
Also add release dates for 2.14.0 and 2.14.1

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

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

GitOrigin-RevId: 0830cdc0bb4546a95a13458aa93134bb646e0dad
Change-Id: Ia7909f5cfb57d5a037d169889c3b6a1520cfb843
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/213060
Reviewed-by: Alexander Thomas <athom@google.com>
2021-09-10 07:57:35 +00:00
Lasse R.H. Nielsen 39a165647a Add compareByIndex helper function to Enum.
Fixes https://github.com/dart-lang/language/issues/1836

Bug: https://github.com/dart-lang/language/issues/1836
Change-Id: I43ef26403a379c795a0bdcdeb470b4818ffb721e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/212573
Commit-Queue: Lasse R.H. Nielsen <lrn@google.com>
Reviewed-by: Nate Bosch <nbosch@google.com>
2021-09-09 12:02:15 +00:00
Emmanuel Pellereau 0933086397 Revert "[dart:html] Update Trusted Types APIs"
This reverts commit bda31c2c13.

Reason for revert: Breaks google3 (See b/195948578).

Original change's description:
> [dart:html] Update Trusted Types APIs
>
> Closes b/195948578
>
> Modifies Trusted Types APIs to be compliant with the spec in
> https://w3c.github.io/webappsec-trusted-types/dist/spec/.
>
> Change-Id: I65d52ace12342ce777ab596a9dd2e9a3f74b2f05
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/212270
> Commit-Queue: Srujan Gaddam <srujzs@google.com>
> Reviewed-by: Riley Porter <rileyporter@google.com>

TBR=sra@google.com,srujzs@google.com,rileyporter@google.com

Change-Id: I6c74fe5bfb1ecb39e01304b882ec306d5cf34442
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/212741
Reviewed-by: Emmanuel Pellereau <emmanuelp@google.com>
Reviewed-by: Michal Terepeta <michalt@google.com>
Commit-Queue: Emmanuel Pellereau <emmanuelp@google.com>
2021-09-08 08:35:45 +00:00
pq 52b70d488f bump to released linter 1.11.0
Change-Id: Ib26921cdee1a00ee18e485988546af8a413b3506
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/212611
Commit-Queue: Phil Quitslund <pquitslund@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2021-09-07 23:43:54 +00:00
Alexander Aprelev bbe0791f2e Revert "linter 1.11.0"
This reverts commit 281b0d3257.

Reason for revert: broke mac buildbots, builds on macs

Original change's description:
> linter 1.11.0
>
> Change-Id: I81870800408fe15fdbc0fedebbb5d4d8f8fd15ab
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/212480
> Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
> Commit-Queue: Phil Quitslund <pquitslund@google.com>

TBR=brianwilkerson@google.com,pquitslund@google.com

Change-Id: I73af2cfc919a1a9c1841f74cbd07a1e89654ef8e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/212613
Reviewed-by: Alexander Aprelev <aam@google.com>
Commit-Queue: Alexander Aprelev <aam@google.com>
2021-09-07 22:16:27 +00:00
pq 281b0d3257 linter 1.11.0
Change-Id: I81870800408fe15fdbc0fedebbb5d4d8f8fd15ab
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/212480
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
2021-09-07 20:55:46 +00:00
Srujan Gaddam bda31c2c13 [dart:html] Update Trusted Types APIs
Closes b/195948578

Modifies Trusted Types APIs to be compliant with the spec in
https://w3c.github.io/webappsec-trusted-types/dist/spec/.

Change-Id: I65d52ace12342ce777ab596a9dd2e9a3f74b2f05
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/212270
Commit-Queue: Srujan Gaddam <srujzs@google.com>
Reviewed-by: Riley Porter <rileyporter@google.com>
2021-09-07 18:03:18 +00:00
pq b3cb952a69 fixed Linter CHANGELOG entry
Follow-up from:

https://dart-review.googlesource.com/c/sdk/+/210500/12/CHANGELOG.md
https://dart-review.googlesource.com/c/sdk/+/209765/3/CHANGELOG.md

Change-Id: I6524f93dc8d75331cf7a5910d01a9186d78f4911
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/212600
Commit-Queue: Phil Quitslund <pquitslund@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
2021-09-07 17:14:33 +00:00
Kevin Moore f42cc14c3c Fix link to native extensions deprecation issue
Follow-up to bda70c8489

Change-Id: I76f042a08a6d313bfdee297b078e01fd81784b97
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/212545
Auto-Submit: Kevin Moore <kevmoo@google.com>
Reviewed-by: Slava Egorov <vegorov@google.com>
2021-09-06 16:46:53 +00:00
Lasse R.H. Nielsen 2b41685519 Move the CHANGELOG entry for dart:cli deprecation to 2.15.0
Change-Id: I73bfdd310af6df6cc1d62311e155fc432b84165d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/212567
Commit-Queue: Lasse R.H. Nielsen <lrn@google.com>
Auto-Submit: Lasse R.H. Nielsen <lrn@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
2021-09-06 12:26:11 +00:00
Vyacheslav Egorov bda70c8489 [vm] Remove support for dart-ext: imports
Per breaking change #45451 we are removing support for dart-ext:
style native extensions from the Dart VM.

This CL removes the associated VM code, tests and samples. It also ports
a single test which used dart-ext: import to use FFI instead.

TEST=ci

Bug: https://github.com/dart-lang/sdk/issues/45451
Change-Id: Iae984bce32baf29a950b5de1323939006a217b94
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/212050
Commit-Queue: Slava Egorov <vegorov@google.com>
Reviewed-by: Daco Harkes <dacoharkes@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2021-09-02 14:14:35 +00:00
Erik Ernst 65b5125223 Add item in CHANGELOG.md about relaxed constant factory constructor rule
Change-Id: Ia4a9ffa1b4e27abcea66dca985d099f9fef75790
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/211400
Commit-Queue: Erik Ernst <eernst@google.com>
Reviewed-by: Michael Thomsen <mit@google.com>
2021-08-31 15:09:40 +00:00
Paul Berry 1b18e8f5ac Flow analysis: account for initializers of implicitly typed variables.
Previously, initializers of implicitly typed variables did not
contribute to the SSA tracking performed by flow analysis (see
https://github.com/dart-lang/language/issues/1785).  This change fixes
the bug, however the fix is conditioned on the "constructor tearoffs"
language feature to avoid compatibility issues (we don't want someone
to publish a package taking advantage of the fix, without realizing
that it makes their package unusable on older SDKs).

TEST=standard trybots
Bug: https://github.com/dart-lang/language/issues/1785
Change-Id: I1143440c7a9795b059e8f4b84e3f4125cd80732c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/211306
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2021-08-27 15:01:15 +00:00
pq 85156a691d linter 1.10.0
# 1.10.0

- improved regular expression parsing performance for common checks
  (`camel_case_types`, `file_names`, etc.)
- (internal) migrated to analyzer 2.1.0 APIs
- fixed false positive in `use_build_context_synchronously` in awaits inside
  anonymous functions
- fixed `overridden_fields` false positive w/ static fields
- fixed false positive in `avoid_null_checks_in_equality_operators` w/
  non-nullable params
- fixed false positive for deferred imports in `prefer_const_constructors`



See: https://github.com/dart-lang/linter/pull/2804

Change-Id: Ib069a6eeb0f9a8ca14c01acf21cad66831c26def
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/210500
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
2021-08-25 16:42:42 +00:00
Michael Thomsen 484825eb09 Add dart2native discontinuation to changelog
Follow-up to https://dart-review.googlesource.com/c/sdk/+/210241

Change-Id: I828adafb04ae92731378b2e372a127dc35de12cb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/210921
Reviewed-by: Devon Carew <devoncarew@google.com>
2021-08-23 20:54:22 +00:00
Paul Berry f5a3bce734 Fix scope resolution of metadata on type parameters
Previously, when encountering identifiers in metadata on a class's
type parameter, the analyzer would resolve them using the type
parameter scope, but then fall back on using implicit `this`.  The CFE
would resolve them using the class body scope.  In both cases, the end
result was that the annotation could refer to static class members.

This change brings the behavior of both the analyzer and the CFE in
line with the spec, by preventing the use of implicit `this` in these
annotations, and resolving them in the type parameter scope.

This is not expected to break any code in practice, because
annotations on type parameters are rare, as are annotations referring
to static class members, and the overlap between these two should be
negligibly small.

Fixes https://github.com/dart-lang/language/issues/1790.

Bug: https://github.com/dart-lang/language/issues/1790
Change-Id: Ibe5a421e04a53d29074a8b1509e1390658ed72e5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/210040
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2021-08-17 15:17:02 +00:00
Lasse R.H. Nielsen f4ddc8dc6b Deprecate the dart:cli library and waitFor method.
Change-Id: Ia7af0febf17b310de9561eca254f1bd9add079ac
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/210125
Commit-Queue: Lasse R.H. Nielsen <lrn@google.com>
Reviewed-by: Michael Thomsen <mit@google.com>
Reviewed-by: Nate Bosch <nbosch@google.com>
2021-08-16 13:49:48 +00:00
pq c22a170429 linter 1.9.0
Change-Id: Id833d90a90caefe7578451f6086828fd33002529
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/209765
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
2021-08-11 23:05:13 +00:00
Lasse R.H. Nielsen ae1e2bd3a6 Add HTTP access control headers to CHANGELOG and add @Since.
Change-Id: I860fbe6b821061695c50319204d8d6ba9c98a839
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/209109
Auto-Submit: Lasse R.H. Nielsen <lrn@google.com>
Commit-Queue: Kevin Moore <kevmoo@google.com>
Reviewed-by: Kevin Moore <kevmoo@google.com>
2021-08-09 14:48:38 +00:00
Srujan Gaddam f5a98e7676 [ddc] Unify pkg:js types and allow subtyping between them
Removes the lazy loading of the underlying type in LazyJSTypes.
As such, this removes the need to keep AnonymousJSType and
LazyJSType separate, and is therefore refactored to
PackageJSType. Similarly, subtyping is fixed such that
PackageJSTypes are all subtypes of each other.

Change-Id: If489defdbeb5cb932db802a7d146ad2fc393b12c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/207982
Commit-Queue: Srujan Gaddam <srujzs@google.com>
Reviewed-by: Nicholas Shahan <nshahan@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2021-07-30 00:33:54 +00:00
pq cb5d0b39ca linter 1.8.0
See: https://github.com/dart-lang/sdk/issues/46663

Change-Id: I836498caf61ee311a9c6674f20ab3a959bdc9e9f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/207401
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
2021-07-28 03:18:44 +00:00
mnordine 408e4c2a1f Remove redundant language block
Closes https://github.com/dart-lang/sdk/pull/46593
https://github.com/dart-lang/sdk/pull/46593

GitOrigin-RevId: a7d5667164a9da6c730b40311a47d73fce160f8a
Change-Id: I79b87e9a53accf5879a7650754874269d4cfa673
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/206602
Reviewed-by: Kevin Moore <kevmoo@google.com>
Commit-Queue: Kevin Moore <kevmoo@google.com>
2021-07-13 01:48:45 +00:00
Mark Zhou 4b858b95f8 [dart2js] Moving 'legacyJavascript' flag to shipping.
This effectively enables ES6 language features in Dart2JS by default.
Also adapts some tests to expect ES6 Method Definition syntax.

Change-Id: Iec36fbf9d22afd1083f7560a16fa73fbf15fb85c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/205741
Commit-Queue: Mark Zhou <markzipan@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Joshua Litt <joshualitt@google.com>
2021-07-09 20:32:56 +00:00
Kevin Moore 359fcac96d CHANGELOG: move language section to the top of 2.14
Also apply new formatting style to dart format section

Change-Id: I5e7ad454ff2794dc98eb4f1868416beb45b1c68e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/206340
Auto-Submit: Kevin Moore <kevmoo@google.com>
Reviewed-by: Bob Nystrom <rnystrom@google.com>
Commit-Queue: Bob Nystrom <rnystrom@google.com>
2021-07-09 17:14:15 +00:00
Kevin Moore f5e59f8a04 Cleanup and standardize format of changelog
Using https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode

Change-Id: I6a9dca93d8852a606b143394318691de9890b9a3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/206302
Auto-Submit: Kevin Moore <kevmoo@google.com>
Reviewed-by: Bob Nystrom <rnystrom@google.com>
Commit-Queue: Kevin Moore <kevmoo@google.com>
2021-07-09 01:34:24 +00:00
Robert Nystrom 7804da29be Roll dart_style 2.0.2 into SDK.
Change-Id: Ie221a1138ee66f820fe5c0f3fe4c911fd9626c31
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/205941
Commit-Queue: William Hesse <whesse@google.com>
Reviewed-by: William Hesse <whesse@google.com>
2021-07-08 23:50:53 +00:00
Lasse R.H. Nielsen 3835374fb9 Update Symbol constructor documentation.
No longer state that it only accepts some strings as arguments.
Document the expected equality, and the relation to symbol literals.

Fixes #46521

BUG= https://github.com/dart-lang/sdk/issues/46521

Change-Id: If317beda0ac4fef380583105f0f5a3b4b456049b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/205791
Commit-Queue: Lasse R.H. Nielsen <lrn@google.com>
Reviewed-by: Erik Ernst <eernst@google.com>
2021-07-05 16:41:57 +00:00
pq 283450336d linter 1.7.0
Change-Id: I5b0c89ddded519cda337777ca64fe111e653792e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/205361
Commit-Queue: Phil Quitslund <pquitslund@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2021-07-01 16:16:28 +00:00