Commit Graph

21307 Commits

Author SHA1 Message Date
sgrekhov 460c2d2ef2 [co19] Constants update and control flow tests enabled
Change-Id: I72575789508b625c4430e475aae5171b40c8751c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/161100
Reviewed-by: William Hesse <whesse@google.com>
2020-08-31 13:38:52 +00:00
Zichang Guo 18cfc0a17f [dart:io] Fix HttpClient close() calling itself.
Call close() on HttpClient will close all connections. Whenever a
connection is closed, it will notify HttpClient to close() again, which
is unnecessary. When there are a large amount of servers need to be
closed, it is likely overflow the stack.

Bug: https://github.com/dart-lang/sdk/issues/41247
Change-Id: I62afb1a60d3e4581aa102628e76f717c28031c2f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/141844
Commit-Queue: Zichang Guo <zichangguo@google.com>
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
2020-08-28 21:58:08 +00:00
Konstantin Shcheglov 5f3298eeac Set readElement/Type and writeElement/Type for PostfixExpression.
R=brianwilkerson@google.com

Change-Id: I449503648192e4b2d1d65304d65a12f74d589bcc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/160785
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2020-08-28 14:45:08 +00:00
sgrekhov f2a124a743 [co19] LanguageFeatures/Extension-methods tests enabled
Change-Id: I68c3517b3e1b1813c62b4064d4ab73023c7649e0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/160523
Reviewed-by: Alexander Thomas <athom@google.com>
2020-08-28 12:56:43 +00:00
sgrekhov 3193e06783 [co19] Enable rest of LibTest/io tests
Change-Id: Ie0b73cc127b2e7e18715ff930a38beb18b9a717c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/160065
Reviewed-by: Alexander Thomas <athom@google.com>
2020-08-28 12:35:39 +00:00
Jacob MacDonald e7b3737b84 add opt in/out tests which are pinned to the experiment release version for nnbd
These tests don't have a lot of value right now - but will have more value as of the 2.11 release.

I am also going to manually validate that they work if I bump the sdk version to 2.11.

Bug:https://github.com/dart-lang/sdk/issues/43034
Change-Id: I7a86f5698ad4c8a0d17d4ae68ecb2143ef7b378f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/160704
Auto-Submit: Jake Macdonald <jakemac@google.com>
Reviewed-by: Leaf Petersen <leafp@google.com>
Commit-Queue: Jake Macdonald <jakemac@google.com>
2020-08-28 02:39:07 +00:00
Joshua Litt c086f08285 [dart2js] Add regression test for #35311.
Change-Id: Ia3069fc10800debefa74d53bd987a06ada04df50
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/160702
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Joshua Litt <joshualitt@google.com>
2020-08-27 23:26:47 +00:00
Konstantin Shcheglov 893481591a Store readElement/Type and writeElement/Type in AssignmentExpression.
Change-Id: Ibe0eea6126c7e85cdfefa09652228b5a89b522cd
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/160444
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2020-08-27 20:22:14 +00:00
sgrekhov 8678553700 [co19] enable isolate and mirrors tests
Change-Id: Iff3d3f718a726015cf914b36998ca6b40725314c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/160220
Reviewed-by: Alexander Thomas <athom@google.com>
2020-08-27 06:20:09 +00:00
Srujan Gaddam 28b8cb34d3 [dart:html] Unify shared attribute metadata from MDN
browser-compat-data includes info on elements as both part of the
Web API and the individual tagged elements. The scripts would default
to whatever was processed last instead of trying to unify any conflicts
that may come up with the different sources of truth. This CL addresses
that issue by choosing the "stricter" of the two versions.

Change-Id: Id3437c14276faf8af3fe41d7a6eb83defc9bd0b0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/155844
Commit-Queue: Srujan Gaddam <srujzs@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2020-08-25 23:48:43 +00:00
Konstantin Shcheglov a717fd41e3 Issue 42379. Allow null-shorting only for increment operators in prefix expressions.
Bug: https://github.com/dart-lang/sdk/issues/42379
Change-Id: I366702f144a4350bed6b83c5c0936359aeeae2c1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/159960
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2020-08-25 23:05:03 +00:00
Konstantin Shcheglov 5c9d9f8616 Don't report INVALID_NULL_AWARE_OPERATOR where INVALID_OPERATOR_QUESTIONMARK_PERIOD_FOR_SUPER is already reported.
Change-Id: I016821804d062f8c07103d4107b88222b1e2a92e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/159966
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2020-08-25 15:16:00 +00:00
Clement Skau 4db081545e Revert "[VM] Fixes yield* exception handling in sync*."
This reverts commit 358aee331b.

Reason for revert: Appears to break service/async_generator_breakpoint_test

Original change's description:
> [VM] Fixes yield* exception handling in sync*.
> 
> This adds a mechanism similar to that used in async functions where
> exceptions are caught in the synthetic code and passed into the
> generated body to be rethrow'n.
> This ensures the exception is throw'n from the same place as the
> original yield*, as per the spec.
> 
> Bug: https://github.com/dart-lang/sdk/issues/42466
> Change-Id: I553dd89141985f6f30751913a1c8a62b1229af04
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/158543
> Commit-Queue: Clement Skau <cskau@google.com>
> Reviewed-by: Vyacheslav Egorov <vegorov@google.com>

TBR=vegorov@google.com,cskau@google.com

Change-Id: I9df83543d41d4260e91e4a7fb8df7c2762b92429
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: https://github.com/dart-lang/sdk/issues/42466
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/160101
Reviewed-by: Clement Skau <cskau@google.com>
Commit-Queue: Clement Skau <cskau@google.com>
2020-08-25 14:08:42 +00:00
Clement Skau 358aee331b [VM] Fixes yield* exception handling in sync*.
This adds a mechanism similar to that used in async functions where
exceptions are caught in the synthetic code and passed into the
generated body to be rethrow'n.
This ensures the exception is throw'n from the same place as the
original yield*, as per the spec.

Bug: https://github.com/dart-lang/sdk/issues/42466
Change-Id: I553dd89141985f6f30751913a1c8a62b1229af04
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/158543
Commit-Queue: Clement Skau <cskau@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2020-08-25 12:40:49 +00:00
sgrekhov 5c0a8351ab [co19] Enable some LibTest/io tests
Change-Id: I6c05c1554634e0bcf1dd0371e4425f5a1b55556a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/159844
Reviewed-by: Alexander Thomas <athom@google.com>
2020-08-25 08:25:40 +00:00
Robert Nystrom df9200ec27 Test the runtime checks in mixed-mode programs for unreachable code.
Change-Id: I83a5dd939fb9e7165e72d4e254aa87d17d38eee4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/159200
Reviewed-by: Leaf Petersen <leafp@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Bob Nystrom <rnystrom@google.com>
Auto-Submit: Bob Nystrom <rnystrom@google.com>
2020-08-24 22:31:07 +00:00
Lasse Reichstein Holst Nielsen ce494e7910 Add test for inference solving T? = dynamic.
See https://github.com/dart-lang/language/issues/1035

Change-Id: Ieb258a020d8212f5488cc3d73978b8132223353d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/151760
Commit-Queue: Lasse R.H. Nielsen <lrn@google.com>
Reviewed-by: Leaf Petersen <leafp@google.com>
2020-08-24 16:09:33 +00:00
Zichang Guo c9b4f1b5d5 [dart:io] validate path component of class Cookie
Bug: https://github.com/dart-lang/sdk/issues/42823
Change-Id: Icb9e0fa84404acfe5c6f3c98014dae4cd16edf2c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/155843
Commit-Queue: Zichang Guo <zichangguo@google.com>
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
2020-08-22 00:30:01 +00:00
Konstantin Shcheglov afd6344e99 Add write tests, fix write_error_test.dart
Bug: https://github.com/dart-lang/sdk/issues/43100
Change-Id: Ib01192e73905ae1c431491e89e269fd25c6cd9cf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/159680
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2020-08-22 00:24:31 +00:00
Mayank Patke db9b25dc7c [dart2js] Use NNBD subtyping in new RTI tests.
Change-Id: Iee39310fdd85da47bffb62faa7234b2bd6dee7ca
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/159182
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Mayank Patke <fishythefish@google.com>
2020-08-21 20:28:30 +00:00
Lasse Reichstein Holst Nielsen 0d322488ae Fix bug in Stream.multi.
The sync operations on a MultiStreamController did not check whether
sending events at the current time was allowed.
That could lead to `null` dereferencing errors when doing operations
on the controller after a cancel, and could cause events to appear
out of order.

Change-Id: I06b86a78959dfcaa402f74e2980a9d515f097dc9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/159442
Reviewed-by: Erik Ernst <eernst@google.com>
Commit-Queue: Lasse R.H. Nielsen <lrn@google.com>
2020-08-21 09:53:10 +00:00
Konstantin Shcheglov 25edea3d8d Issue 43100. Verify local variable reads for null safety.
Bug: https://github.com/dart-lang/sdk/issues/43100
Change-Id: Ia8ece4de32f65d7912e534ce61936a45f2c768c0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/159382
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2020-08-20 15:50:50 +00:00
Srujan Gaddam f20b0ddcc2 [package:js] Remove stale TODOs from static error tests
Closes https://github.com/dart-lang/sdk/issues/43022

Real static errors were added in a previous CL. This simply removes
TODOs to address that and removes a TODO to handle contexts. Static
error testing doesn't support testing for contexts.

Change-Id: Id27fadeb77484a3556fdfdf4c50c8cd67ce2d9a0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/159381
Auto-Submit: Srujan Gaddam <srujzs@google.com>
Commit-Queue: Srujan Gaddam <srujzs@google.com>
Commit-Queue: Nate Bosch <nbosch@google.com>
Reviewed-by: Nate Bosch <nbosch@google.com>
2020-08-19 22:04:58 +00:00
Paul Berry 4280e0a819 Fix crash when a null shorting expression is null checked.
Postfix increments and decrements are null-shorting expressions
(e.g. `x?.y++.isEven` only calls `isEven` if `x` was non-null), but it
is still being decided whether postfix `!` should be null shorting
(i.e. whether `x?.y!` should fail if `x` is null).  See
https://github.com/dart-lang/language/issues/1163.

Previously, the analyzer was inconsistent about whether it considered
`!` to participate in null shorting; as a result, when analyzing an
expression like `x?.y!`, the analyzer would fail to call
`FlowAnalysis.nullAwareAccess_end`, resulting in corrupted flow
analysis state, which could lead to a crash.

This change makes the analyzer treat `!` as *not* participating in
null shorting, which is consistent with what is currently written in
the spec and implemented in the CFE.

Fixes #43093.

Change-Id: Ie69c5c29f226fe1a0282d0e7a1e079778dc700c3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/159147
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2020-08-19 19:35:57 +00:00
Leaf Petersen 9cae6aa746 Add definite assignment tests.
New tests for the definite assignment related changes specified in
https://github.com/dart-lang/language/pull/1091 .

Change-Id: I119e36c1bddca97f7021c9015b0f2eee5cb80969
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/157881
Reviewed-by: Erik Ernst <eernst@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
2020-08-19 03:27:31 +00:00
Mayank Patke 518f96a70a [dart2js] Fix tests/dart2js/29130_test.
Change-Id: I440bdc7f53192862e819e622db59754dbec6aaa5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/159101
Auto-Submit: Mayank Patke <fishythefish@google.com>
Commit-Queue: Stephen Adams <sra@google.com>
Reviewed-by: Stephen Adams <sra@google.com>
2020-08-18 20:54:50 +00:00
Mayank Patke 41953c8835 [dart2js] Rewrite lib/html/js_typed_interop_type_test to use external
fields.

This brings it more in line with the lib_2 version.

Change-Id: I99e4f6a467fa5b58d6e7c5206e1f6d9956fc60bc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/158961
Auto-Submit: Mayank Patke <fishythefish@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2020-08-18 15:46:20 +00:00
Stephen Adams d2057a0b57 [dart2js] Check non-nullable native call values
When `--null-assertions` is enabled, values returned from @Native
methods and getters with non-nullable return types are checked.

Change-Id: I4b38e651a9a6b370ebed5420a3cfac0a53cfeb60
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/158527
Commit-Queue: Stephen Adams <sra@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Srujan Gaddam <srujzs@google.com>
2020-08-18 01:52:55 +00:00
Robert Nystrom 5be77279cd Migrate package:dart_internal to null safety.
This also highlighted a couple of mistakes in the patch files for

dart:_internal and the test.
Change-Id: I60b4e7d5673d64f85a95108c9e03f9328249b9d0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/153021
Commit-Queue: Bob Nystrom <rnystrom@google.com>
Reviewed-by: Jake Macdonald <jakemac@google.com>
Auto-Submit: Bob Nystrom <rnystrom@google.com>
2020-08-17 23:06:35 +00:00
Mehmet Fidanboylu d39cb30cbb [dart:io] Re-enable socket policy enforcement with additional testing.
Change-Id: I1a42e31b0bc50a758f78ba87566aff57718fdcd9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/157540
Commit-Queue: Mehmet Fidanboylu <mehmetf@google.com>
Reviewed-by: Jonas Termansen <sortie@google.com>
2020-08-17 16:42:49 +00:00
Tess Strickland 787446213c [vm/compiler] Move argument shape (not type) checks out of closures.
This CL performs the following checks in the invoke field dispatcher for
dynamic closure calls when lazy dispatchers are enabled:

* The provided function type arguments vector (if any) has the correct
  length.

* No function type arguments should be provided if the closure has
  delayed type arguments.

* All required arguments (positional in all modes, named in appropriate
  null safety modes) have been provided by the caller.

* If there are optional positional arguments, an appropriate number
  has been provided.

* If there are optional named arguments, their names are valid.

Since the runtime already handles checking the argument shapes when lazy
dispatchers are disabled, these checks are now completely removed from
closure bodies in all cases. Thus, the only remaining checks in closure
bodies are the type checks performed by AssertSubtype and
AssertAssignable when lazy dispatchers are enabled.

Changes in the Flutter Gallery:

* ARM7, release: -3.61% instructions, -2.19% total
* ARM7, sizeopt: -3.62% instructions, -2.55% total
* ARM8, release: -3.66% instructions, -1.98% total
* ARM8, sizeopt: -3.65% instructions, -2.37% total

Most of these changes are already exercised by existing tests such as
(but not limited to):

* corelib{,_2}/dynamic_nosuchmethod_test
* language{,_2}/call/call_test
* language{,_2}/closure/tearoff_dynamic_test
* language{,_2}/generic/function_bounds_test
* language{,_2}/parameter/named_with_conversions_test
* language{,_2}/vm/no_such_args_error_message_vm_test

I've added one test to specifically check the interaction between
dynamic calls and required named parameters. There is some coverage in
other NNBD tests, but those are not directly focused on testing this
specifically.

Other changes:

* Adds initial cached ranges for certain BinarySmiOp and ShiftIntegerOp
  instructions when the RHS is a constant, to avoid false negatives for
  deoptimization and throw checks prior to range analysis.

* Adds new slots for various Function fields.

* Adds the ability to define unboxed native slots, which are always
  unboxed after retrieval even in unoptimized code. In the first
  iteration, the backend only handles loads from Uint32 unboxed native
  slots. Part of https://github.com/dart-lang/sdk/issues/42793.

* Removed the special handling for loading from non-nullable int fields
  in AOT compilation. Instead, their treatment is unified with the
  treatment of the new unboxed native fields, since the source field is
  always unboxed and the result of the load is also always unboxed, as
  code involving them is always optimized.

Bug: https://github.com/dart-lang/sdk/issues/40813
Change-Id: Ia02aa3e872c1fefd906fd67b55021ea1797556e4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/155604
Commit-Queue: Tess Strickland <sstrickl@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2020-08-17 08:58:08 +00:00
Joshua Litt c060abfa45 [dart2js] Add regression test for 43055.
Change-Id: Ia83ada924f63ae7d8dfbe034415e5fd8f241cd2e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/158680
Commit-Queue: Joshua Litt <joshualitt@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2020-08-15 00:01:00 +00:00
Daco Harkes ba18050bad [vm/ffi] Add missing SharedObject for regression test
Fix test for https://github.com/dart-lang/sdk/issues/43016 on Android.

Change-Id: I0dde428ff7b9618714e3ba3db3099a7d8fd1f0a5
Cq-Include-Trybots:dart/try: vm-ffi-android-debug-arm-try,vm-ffi-android-debug-arm64-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/158560
Reviewed-by: Tess Strickland <sstrickl@google.com>
Commit-Queue: Daco Harkes <dacoharkes@google.com>
2020-08-14 17:21:16 +00:00
Clement Skau eb4cf54d9a [Nit] Fixes typo in package_config_test (x2)
Change-Id: I5c0dff5be33d8653e66ea5ace526666de7a8bf95
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/158541
Reviewed-by: Andrei Constantinescu <andreicostin@google.com>
Commit-Queue: Clement Skau <cskau@google.com>
2020-08-14 14:02:39 +00:00
Daco Harkes 44fdd8f69d [vm/ffi] fix callbacks in --no-use-bare-instructions
Closes: https://github.com/dart-lang/sdk/issues/43035

Change-Id: I3a4e972f00ef7c7436d8ce5176bdc43c7636c25d
Cq-Include-Trybots:dart/try:vm-kernel-precomp-linux-debug-x64-try,vm-kernel-precomp-linux-release-x64-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/158399
Commit-Queue: Daco Harkes <dacoharkes@google.com>
Reviewed-by: Tess Strickland <sstrickl@google.com>
2020-08-14 12:49:37 +00:00
Paul Berry e403e6ae77 Flow analysis: rework handling of equality tests.
The new logic classifies the LHS and RHS of the equality check as
either null, non-nullable, or potentially nullable, and then either
promotes, treats the expression as equivalent to a boolean, or does
nothing, as appropriate.

This means, for example, that a comparison between a non-nullable
value and `null` is now known to evaluate to `true` for reachability
analysis.

Note: as part of this change, it was tempting to trigger promotion
whenever a varialbe is equality compared to an expression of type
`Null`, but this would be unsound (consider `(int? x) => x == (x =
null) ? true : x.isEven`).  So we still only promote when the variable
is compared to a literal `null`.

Fixes #41985.

There's a corresponding spec change out for review:
https://github.com/dart-lang/language/pull/1134

Change-Id: Id7f1d4eaa3b0fa57124445bb8352eef32c304feb
Bug: https://github.com/dart-lang/sdk/issues/41985
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/155926
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2020-08-14 12:16:36 +00:00
sgrekhov 2adaa2f93a [co19] LibTest/math tests enabled
Change-Id: I5e2d248756041919535e12f44658800f476e5e32
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/158390
Reviewed-by: Alexander Thomas <athom@google.com>
2020-08-14 12:00:03 +00:00
Daco Harkes 5781b4ccb3 [vm/ffi] Regression test for dartbug.com/43016
Regression test for https://github.com/dart-lang/sdk/issues/43016

Change-Id: I5787bd7abd8a7b5159a4535da59fe3918489ac8c
Cq-Include-Trybots:dart/try:vm-kernel-linux-debug-x64-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/158545
Commit-Queue: Daco Harkes <dacoharkes@google.com>
Auto-Submit: Daco Harkes <dacoharkes@google.com>
Reviewed-by: Aske Simon Christensen <askesc@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2020-08-14 11:18:57 +00:00
Zichang Guo efe7676067 [dart:io] Fix failure on Interent_address_test on macOS
Fixes the failure caused by https://dart-review.googlesource.com/c/sdk/+/155840

log: https://logs.chromium.org/logs/dart/buildbucket/cr-buildbucket.appspot.com/8872034801609634816/+/steps/test_results/0/logs/new_test_failures__logs_/0

Change-Id: I80f6ed4092f1a2528b463b1310ae9e857a2df553
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/158485
Reviewed-by: Zichang Guo <zichangguo@google.com>
Commit-Queue: Zichang Guo <zichangguo@google.com>
2020-08-14 04:00:53 +00:00
Zichang Guo 56d40bad75 Reland "[dart:io] Add Abort() on HttpClientRequest"
The test was poorly written. The response from Socket can arrive
separately. So the check for content-length header will fail.

This is a reland of 4b96f20a79

Original change's description:
> [dart:io] Add Abort() on HttpClientRequest
>
> The breaking change request for this cl: https://github.com/dart-lang/sdk/issues/41904
>
> Bug: https://github.com/dart-lang/sdk/issues/22265
> Change-Id: I36db64b4db307b78cd188a2f1701ec733f2e73db
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/147339
> Commit-Queue: Zichang Guo <zichangguo@google.com>
> Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>

Bug: https://github.com/dart-lang/sdk/issues/22265
Change-Id: Ibfe9565a3f9d5ef84274fba33a68fb57dbbe28c9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/155581
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Zichang Guo <zichangguo@google.com>
2020-08-14 01:01:13 +00:00
Zichang Guo 813d25bd8e [dart:io] Clean up on parsing scoped IPv6 InternetAddress
A follow up of https://dart-review.googlesource.com/c/sdk/+/147060
Fixes https://github.com/dart-lang/sdk/issues/42908

Change-Id: I7e1456457552993e21e52f211bdbab42233ced1e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/155840
Commit-Queue: Zichang Guo <zichangguo@google.com>
Reviewed-by: Jonas Termansen <sortie@google.com>
2020-08-14 00:34:33 +00:00
sgrekhov 642412c447 [co19] Enable remaining core and collection tests
Change-Id: I5b8d7379904f196575111d38d5e526f11e4959ad
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/158013
Reviewed-by: Alexander Thomas <athom@google.com>
2020-08-13 10:37:50 +00:00
Robert Nystrom 1c5d3dfd4a Run web static error tests on dart2js and DDC and validate output.
If a static error test contains "[web]" error markers, this runs them
on DDC and dart2js, parses the output, and tests that the compilers
report the expected errors.

Change-Id: I8b846f75828a0078f61c2fc1f3da0a4a587349cb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/158100
Commit-Queue: Bob Nystrom <rnystrom@google.com>
Auto-Submit: Bob Nystrom <rnystrom@google.com>
Reviewed-by: Srujan Gaddam <srujzs@google.com>
2020-08-12 23:15:38 +00:00
jlcontreras d16bc3a3dd Add sample language tests for valueClass feature
Add experimental_flag protection

Change-Id: I0dc83fd544beb58dce5631a2a80d4d9321e866ca
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/155607
Commit-Queue: Javier López-Contreras <jlcontreras@google.com>
Reviewed-by: Erik Ernst <eernst@google.com>
2020-08-12 16:02:14 +00:00
Paul Berry 490a4b65e2 External field support: suppress "uninitialized non-nullable field" errors.
External fields whose type is non-nullable don't need to be
initialized (in fact they can't be initialized), so we shouldn't
report "uninitialized field" errors for them.

This CL also adds some basic tests of the functionality of external
fields, making sure that the getters and setters they introduce are
properly resolved and that their types are properly respected by
inheritance checks.

Change-Id: I9b08727ab0d45d24801af3721e332c7ec21d08bc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/157840
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2020-08-11 19:32:12 +00:00
sgrekhov 855acf60b7 [co19] LibTest/convert tests enabled
Change-Id: I2b736b394750fb745c2babdb48a8dff35c26948a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/157321
Reviewed-by: Alexander Thomas <athom@google.com>
2020-08-11 08:45:42 +00:00
Brian Wilkerson e224540b1c Unify four diagnostic codes for the purpose of documentation
I would have prefered to have renamed them all to undefined_super_member,
but that would have broken existing links. Some day we should add the
support necessary to allow for forwarding so that we can rename codes.

Change-Id: I81e416407e3464b5b60a4dbbfe60a375eb47bb84
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/157921
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2020-08-11 01:07:44 +00:00
Paul Berry d4e4abdef6 External field support: add a notion of external fields to the AST and element model.
In follow-up CLs I will update error reporting logic.

Change-Id: Id07b861aa117b93e0c869ad0b52c048085706ee6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/157801
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2020-08-10 21:54:54 +00:00
Brian Wilkerson 276f10aaf6 Unify const_field_initializer_not_assignable with field_initializer_not_assignable for documentation purposes
Change-Id: I7b008febe4210d08768b81c59bf0ee6b2663fafd
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/157900
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2020-08-10 19:48:03 +00:00
Regis Crelier f8d1d003c9 Reland "[VM/runtime] Fix computation of the hash of recursive types."
This is a reland of a528b19d2c

Updating the hash of the empty type argument vector in write-protected memory caused a crash in precomp mode.
The fix is to correctly initialize the hash so it does not need an update.

Original change's description:
> [VM/runtime] Fix computation of the hash of recursive types.
>
> When computing the hash of a type, only include the hashes of the type arguments corresponding to the type parameters of the type's class and not of the whole type argument vector, otherwise, the variable location of TypeRefs in the base class type arguments may result in different hashes.
>
> Add a regression test (this test was not failing in all configurations, since the issue becomes visible depending on the order in which types are loaded and finalized).
>
> This fixes issue https://github.com/dart-lang/sdk/issues/42954
>
> Small improvement: pick hash value 1 for a vector of dynamic types, so it can be cached and not recomputed repeatedly, which was the case with value 0.
>
> Change-Id: I3468952cbf61944a82cf8e00efbf4952bd831fbe
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/157563
> Reviewed-by: Alexander Markov <alexmarkov@google.com>
> Commit-Queue: Régis Crelier <regis@google.com>

Change-Id: I538b4538c69472e09b7bd745c6bd41023e1f154f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/157781
Commit-Queue: Régis Crelier <regis@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2020-08-07 21:13:35 +00:00