Updates changelog and dependencies in pubspec.yaml, and I verified
by hand that the tests pass when run with the stable SDK.
Bug: https://github.com/dart-lang/sdk/issues/41679
Change-Id: Ibc2883e319678271d77dc4efa3fe4a9d61d9ce68
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/145621
Commit-Queue: Janice Collins <jcollins@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Auto-Submit: Janice Collins <jcollins@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Now we find different options for files more often, and it was affecting
completion performance if we reset the library context every time.
I had to change some shared analyzer objects to be updatable.
Change-Id: If4eee82df62d5115b12fce5865ff3be12aac8c6d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/145645
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Also marked `getClientName`, `setClientName`,
`requirePermissionToResume` and `ClientName` as deprecated in the VM
service specification as these features will be moving to DDS and will
be removed in VM service protocol 4.0.
Change-Id: I4628ece96349a9883ee9d726d82e5cfae028a826
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/144986
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
IsTopTypeForAssignability is renamed to IsTopTypeForSubtyping to better
reflect that it works both for subtyping and assignability.
Most uses of IsTopType() are changed to IsTopTypeForSubtyping().
The remaining uses of IsTopType() are checking for top types in
instance-of ('is') tests, so IsTopType is renamed to IsTopTypeForInstanceOf.
Also, Instance::IsFutureOrInstanceOf is renamed to RuntimeTypeIsSubtypeOfFutureOr
to align it with RuntimeTypeIsSubtypeOf and reflect that it is
calculating subtyping and not instance-of.
Change-Id: Ib8d3574edc1b90d80f5528330bd84b099b37d2b8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/145446
Commit-Queue: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Régis Crelier <regis@google.com>
Closes#41727
These are invalid on linux, but treated as valid on mac.
Change-Id: I0ccee97048b163f419ad88f8cfcd3d5cde427ea9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/145641
Commit-Queue: Nate Bosch <nbosch@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
Auto-Submit: Nate Bosch <nbosch@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Closes#40692
Allows a better pattern for parsing user input than catching an
`ArgumentError`.
- Add a new static method to InternetAddress and implement it in all
patch files.
- Add tests which match the tests for the constructor.
Change-Id: Idc76fc4875578f7a381219c0e7e12d1931d98fd8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/136406
Commit-Queue: Nate Bosch <nbosch@google.com>
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
Auto-Submit: Nate Bosch <nbosch@google.com>
I'm planning on converting the rest of the class in the next CL, but
thought that a combined CL would be too large.
Change-Id: Ic18ead8285019791053f696daee0b5182c4740de
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/145600
Reviewed-by: Jaime Wren <jwren@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Supercedes previous work here: https://dart-review.googlesource.com/c/sdk/+/128849
Change overview:
* In legacy mode, the isRequired flag for parameters in the kernel IR is treated as false (though this bool is still processed during serialization).
* Adds a Set<String> to the element model to represent required-ness. All named parameters are still stored in a single "bag".
* ParameterStructure objects additionally emit/ingest all required named parameters as well during serialization.
* A bool indicating whether or not a parameter is required is emitted after each named parameter when serializing FunctionTypes.
* JS identifiers for functions with required named parameters now emit '$req' before each required named parameter. E.g., dynamic_Function_String_$named_p0_int_$req_p1_int for dynamic Function({int p0, required int p1}).
* Recipes now indicate required named parameters with '!' instead of ':'. E.g., @(int,{p0:int,p1!int}) if p1 is required and p0 is optional.
* A requiredNamedSeparator was added to the shared recipes to accommodate the above.
* The RTI now represents named function parameters as a repeating list of triplets (name/bool/type). This adds a bit of overhead to our parser but makes subtype checks simpler.
* Does NOT include changes to Function.apply + auxiliary information attached to closures. These will be added in a later patch.
Fixes#39730
Change-Id: I9c9eaac28da0d63bb16bdb439f021f1470539563
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/141204
Commit-Queue: Mark Zhou <markzipan@google.com>
Reviewed-by: Stephen Adams <sra@google.com>
Closes https://github.com/dart-lang/sdk/issues/41699
createFragment should accept a nullable html string in its
implementation. As such, usages of createFragment within dart:html
are modified as well so the html string does not have to be
non-nullable.
Change-Id: Ia04ad2da9e2a48cabda8774f0af75559fb03a7d2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/145570
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Nicholas Shahan <nshahan@google.com>
Commit-Queue: Srujan Gaddam <srujzs@google.com>
The idea behind this is that the incremental compiler can now
(currently experimentally) recompile less if the outline didn't change.
This also mean that it can output less (e.g. only the changed library).
This change should make sure that the VM still invalidates everything
it needs to.
See also:
https://github.com/dart-lang/sdk/issues/34001https://dart-review.googlesource.com/c/sdk/+/77722
This reverts commit 430506109d
(and fixed the issue).
Change-Id: I0815635eff6df76edf95de686aefd1800e0a8a0a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/144824
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Alexander Aprelev <aam@google.com>
2.8 needs another cherry-pick but 2.8.0 has already been released on the
Flutter beta branch. To be on the safe side, bump the version to 2.8.1.
Change-Id: I977113b3272264e903b9150b5185c0eadb769057
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/145581
Reviewed-by: William Hesse <whesse@google.com>
Opt-in code can have Never types even with legacy subtyping.
Bug: 41675
Change-Id: I6dbdc064dceeedf0774d10faaca336561b41b7d5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/145561
Commit-Queue: Stephen Adams <sra@google.com>
Reviewed-by: Mayank Patke <fishythefish@google.com>
CFE may use anonymous mixin application classes in types after
applying LUB (Least Upper Bound) algorithm in conditional expressions,
and then those types can spread via type inference.
After anonymous mixin application classes are deduplicated, all
references to removed mixin applications from types should be
updated to point to the remaining mixin application.
Fixes https://github.com/flutter/flutter/issues/55345
Change-Id: I7860b2868cb153d125fec363c1653b7aa16521e6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/145501
Commit-Queue: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
Fixes https://github.com/dart-lang/sdk/issues/38291
This change also involves moving the "package" where test sources are
written and analyzed; It used to be /home/test (or /project in some
places); and a pubspec.yaml was written (or a .packages file) which
specified the package's name was "test". However, this conflicts with
adding an entry for a mock copy of the actual _test_ package. A
.packages file cannot have two entries for a package named "test", so
the package where all test sources are written is changed to "tests"
(located at /home/tests).
Change-Id: I462b88a814931dc2d4f1e72d07e3daf64768a399
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/144994
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
This reverts commit 8241779d83.
Revert "[vm, gc] Divide new-space into pages like old-space."
This reverts commit 3495158ec9.
Revert "[vm, gc] Set the scavenger's forwarding bit to equal to the pointer tag bit."
This reverts commit 6e37605661.
Bug: b/155227688
Change-Id: I7e26bd86e188fb3658b82ba311a261468db96b78
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/145444
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Alexander Aprelev <aam@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
With this change, each configuration is run on only one builder (per
branch). We need this to start processing and storing results by
configuration instead of by builder.
Change-Id: Ib11c1f3b459c2992440ce8a3540c455deb64b9f4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/144701
Reviewed-by: Jonas Termansen <sortie@google.com>
Without this, it's possible for a unit test failure to result in a
preview server remaining open, which can prevent test execution from
terminating.
Change-Id: I8a11056da5bea003dfa46e3871a241e8f5ce8cc1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/145440
Reviewed-by: Janice Collins <jcollins@google.com>
This CL makes the VM add support for .dart_tool/package_config.json via
* the --packages=<file> command line parameter
* the `packageConfig: <file>` parameter to `Isolate.spawnUri`
It also allows now `package:*` uris being used in `Isolate.spawnUri`
The CL also removes the unused `packageRoot` parameter from the Dart to
C++ interface as well as in various places in C++.
The CL also aligns the implementations between sdk and sdk_nnbd more.
Issue https://github.com/dart-lang/sdk/issues/41649
Issue https://github.com/dart-lang/sdk/issues/41245
Issue https://github.com/dart-lang/sdk/issues/41246
Change-Id: I0a7aa3040332abafa19bf80bdbd8a8f8594cc6fe
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/145462
Reviewed-by: Alexander Aprelev <aam@google.com>
Commit-Queue: Martin Kustermann <kustermann@google.com>
We really should switch this, if possible, to use the edit kind APIs
that the preview tool uses, so that we can categorize this without
guesswork.
However this will keep it as a rough list, and I don't know if we need
anything fancier that currently -- and it will no longer produce noise
if new changes are added.
(currently produces "and 0 other changes" when running on flutter, so
it's probably mostly comprehensive currently).
Change-Id: I9cb2662995af340346a61d38eba3469927a0f4ef
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/145160
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Mike Fairhurst <mfairhurst@google.com>
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
No semantic changes, I think.
Just a step closer to what the spec says.
R=paulberry@google.com
Change-Id: I3b27c3daa3b93d425ede56bc1b2b1056210135d2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/145243
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Since the tests use a MemoryResourceProvider we can run both kinds of
tests on both platforms. That should make it easier to track down and
fix issues occurring under Windows (see
https://github.com/dart-lang/sdk/issues/40381).
Change-Id: Ie058f8c08923a3ef4ea12c5f28219e48aa17c28d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/145026
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>