Commit graph

6448 commits

Author SHA1 Message Date
Karl Klose 42270c6fae [infra] Change default target of update_blamelists to production
Change-Id: I6fbd5054651d984183df0643c21de32f17c5da97
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/157496
Reviewed-by: William Hesse <whesse@google.com>
Commit-Queue: Karl Klose <karlklose@google.com>
2020-08-11 10:03:39 +00:00
Jens Johansen 13de7e7560 [CFE] Add first stab at weekly leak test
Change-Id: Ib0307a4d82414e8387f65a9010a6f0f91827c3bb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/157962
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2020-08-11 09:01:29 +00:00
Johnni Winther 9d279d41e3 Add pseudo-packages for _fe_analyzer_shared test data folders
Change-Id: I6995cd65b547f0dc6159c90acb194babb819c4ad
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/156908
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2020-08-10 08:03:29 +00:00
Liam Appelbe 79cec0e864 [vm] Delete ABI infrastructure
Change-Id: I26d455d96c87010293a6dcb9f6c0eecfcaf3c816
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/157102
Reviewed-by: Alexander Thomas <athom@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Liam Appelbe <liama@google.com>
2020-08-06 19:55:12 +00:00
Alexander Thomas 76bdb07a5e [infra] Tweak shards of AOT nnbd builders
They were sometimes timing out, or close to the 60min execution timeout.
Also moved the co19 nnbd tests with asserts to the end to ensure that is
what is running on the local shard. This should reduce wasted capacity
when waiting on shards (co19 with asserts is the slowest config).

Change-Id: I18235f1f710190aaea2021a7923ec03e7c75b595
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/157489
Auto-Submit: Alexander Thomas <athom@google.com>
Commit-Queue: William Hesse <whesse@google.com>
Reviewed-by: William Hesse <whesse@google.com>
2020-08-06 14:37:29 +00:00
Konstantin Shcheglov ebd5b622ba Add DartSdk.languageVersion
Bug: https://github.com/dart-lang/build/issues/2763#issuecomment-666707445
Change-Id: I8232bd395abc9efea0e5c27716450d6a5442b3bb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/156489
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: William Hesse <whesse@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2020-08-04 21:01:09 +00:00
Mayank Patke d5d223944e Run tests/dart2js on chrome instead of d8.
Change-Id: I331159ecec09919fe7c452ad3333bd54ed3d6afc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/156924
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Mayank Patke <fishythefish@google.com>
2020-08-04 03:38:53 +00:00
Nate Bosch f885727a85 Remove references to cps_ir
The string `cps_ir` does not show up anywhere else in the SDK repo,
there are no references to or usages of this argument.

Change-Id: Ife5136393cfc026a88aef7b9e00de3e7ad9b13a2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/156688
Auto-Submit: Nate Bosch <nbosch@google.com>
Commit-Queue: Leaf Petersen <leafp@google.com>
Reviewed-by: Leaf Petersen <leafp@google.com>
2020-07-31 21:34:40 +00:00
Karl Klose d4d91c40af [infra] Add a script to narrow blamelists in the result feed
This script takes a list of test results and identifies blamelists
in the result feed data that include the commit of the test results
and tries to narrow the blamelist, if possible.

This CL also adds a small library to use the firestore REST API,
which contains mostly the functionality used in the script, but
should be easy enough to extend for other scripts.

Change-Id: If3c8272438e2a9bbf24891d9f5b62c342ea77cc6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/153966
Commit-Queue: Karl Klose <karlklose@google.com>
Reviewed-by: William Hesse <whesse@google.com>
2020-07-31 07:59:20 +00:00
Alexander Thomas e87cb96bb8 [infra] Use ELF on VM AOT NNBD simarm64 builder
Change-Id: Ie8584ff46ecb6e818bdc8a7a5c4e1ef5f015d7c3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/156520
Reviewed-by: William Hesse <whesse@google.com>
2020-07-30 15:19:19 +00:00
Alexander Thomas 7d15f06959 [infra] Add VM simarm64 nnbd builder to the test matrix
Also balances shards to reduce cycle time.

Change-Id: I3e6446076e29627e171a41bd53a1dd4754ce68ab
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/156187
Reviewed-by: William Hesse <whesse@google.com>
2020-07-29 10:53:36 +00:00
Karl Klose 637aeeb781 [infra] Empty SDK commit to validate recipe changes
TBR=athom@google.com

Change-Id: I267ffe00047a403ad4d98b959ead370b3ed89f7e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/156180
Reviewed-by: Karl Klose <karlklose@google.com>
2020-07-29 03:41:44 +00:00
jlcontreras 355cade14f Add experiment flag for Value Classes
Change-Id: I94b42676ed233c3d421ac41be1c74dd90c74501e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/156005
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Javier López-Contreras <jlcontreras@google.com>
2020-07-28 12:16:08 +00:00
Alexander Thomas d19617f513 [infra] Remove ABI builder from the test matrix
This is no longer a feature we plan to support.

Change-Id: Ie916f3bbb0313c98863e360472f126c24340013d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/156026
Reviewed-by: William Hesse <whesse@google.com>
2020-07-28 09:09:45 +00:00
Alexander Thomas 125f9e3ae8 [infra] Increase shards for co19 tests on VM AOT NNBD builder
With more co19 tests getting migrated, some shards were timing out.

Change-Id: I2e8acbf6f41cb472fc48a8bcdbf07d2387623ad1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/156024
Reviewed-by: Karl Klose <karlklose@google.com>
2020-07-28 07:01:06 +00:00
Jonas Termansen 4c74ebb367 [benchmark] Add dartdevc-null targets.
Change-Id: I130db1cb41a3f6a4d4254cbdd6782bc5bb44c351
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/155446
Reviewed-by: Nicholas Shahan <nshahan@google.com>
2020-07-24 10:06:36 +00:00
Robert Nystrom 0689ec527a Move "test.dart" (well, most of its contents) into pkg/test_runner.
I don't like having a large volume of Dart code sitting under tools/
where it is hard to analyze, lint, test, and reuse. Also, eventually
we want to merge test.dart and test.py. This seems like an easy mostly
mechanical first step.

All I did was:

1. Move the contents of tools/test.dart to
   pkg/test_runner/lib/test_runner.dart. (That's not a great file name
   since we already have pkg/test_runner/bin/test_runner.dart, but it
   was the best I could come up with.

2. Copy tools/bots/results to pkg/test_runner/bot_results.dart. I
   don't like duplicating this, but there are other scripts under tools
   that import the old location. Eventually, we should have those
   scripts import it from package:test_runner/bot_results.dart, but I
   didn't want to do that here since I'm not familiar with those other
   scripts.

3. Make tools/test.dart import and forward to
   pkg/test_runner/lib/test_runner.dart.

4. Fix any linter and type errors. The test_runner package has a bunch
   of strictness checks and lints enable to keep it cleaner.

5. Run dartfmt --fix to format and get rid of "new", etc.

Change-Id: Ifc89817508d3fc147fa78dbc6744d547aeaf4c55
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/155240
Commit-Queue: Bob Nystrom <rnystrom@google.com>
Auto-Submit: Bob Nystrom <rnystrom@google.com>
Reviewed-by: Jonas Termansen <sortie@google.com>
2020-07-22 23:00:49 +00:00
William Hesse 08663c20ab Change flutter patch to match existing DEPS on master branch
Change-Id: Idb0fd43ed680839f24e8be03e6703e3be31b8802
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/155445
Reviewed-by: Jonas Termansen <sortie@google.com>
2020-07-22 15:48:22 +00:00
William Hesse ba20edd7be Add patch for flutter-engine when changing to version 2.10
Change-Id: I4e17161abd7d8c390821a5e19a102a45de01a2ba
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/155442
Reviewed-by: Martin Kustermann <kustermann@google.com>
2020-07-22 14:22:39 +00:00
William Hesse f88ce7aef5 Increase Dart version to 2.10
Change-Id: Ic6b556f935602834564aca24690608aa624efa43
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/155440
Reviewed-by: Martin Kustermann <kustermann@google.com>
2020-07-22 13:22:07 +00:00
Liam Appelbe f66eb7228a [test] Infra for running tests on Fuchsia emulator
The IO tests aren't working yet, but basic tests work:
tools/test.py -n dartk-fuchsia-debug-x64 language_2/list/literal3_test

You may need to run this first:
sudo chmod 666 /dev/kvm

Change-Id: I04915ce11f671f1d493f9eeb6bc832089ba9bfa4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/154828
Commit-Queue: Liam Appelbe <liama@google.com>
Reviewed-by: Zach Anderson <zra@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Reviewed-by: William Hesse <whesse@google.com>
2020-07-21 19:40:15 +00:00
Martin Kustermann f9a454dd87 [infra] Add tools/git_cl_try.sh to be sourced from ~/.{bashrc,zshrc}
Change-Id: Ifb4a03232721ce02f285ae417e5fa8403d2ae426
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/154691
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: William Hesse <whesse@google.com>
2020-07-20 10:23:44 +00:00
Martin Kustermann 90bba3ae27 [vm] Ensure SDK hash is correctly embedded for CFE and other tools that produce Kernel
The missing --short=10 was causing (depending on git version and
configuration) us to sometimes default to using '0000000000'.

Furthermore the build rules were missing two places where -Dsdk_hash has
to be set.

Issue https://github.com/dart-lang/sdk/issues/41802

Change-Id: I83dbfcce677e2594074c1139093bd9592d4fa3ee
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/154684
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: Daco Harkes <dacoharkes@google.com>
2020-07-16 18:43:24 +00:00
Ben Konyi e7b319698d [ package:dds ] Add server-sent event (SSE) support to DDS
This support is required for web clients of dwds within google3

Change-Id: Ia1ecbf8f5ba79d53cb340c83a579dc0810ec0065
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/150183
Reviewed-by: Gary Roumanis <grouma@google.com>
2020-07-15 21:30:09 +00:00
Liam Appelbe 6fc75e6a2b [vm] Add tests and packages to the Fuchsia package
Also, delete some unnecessary files from build/fuchsia, and add an async
dispatcher to os_fuchsia.

Change-Id: I477e58d54330e83b2c7b6463395a1212707f8ab7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/154162
Reviewed-by: Siva Annamalai <asiva@google.com>
Reviewed-by: Zach Anderson <zra@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Liam Appelbe <liama@google.com>
2020-07-15 20:44:06 +00:00
Martin Kustermann 89fe12b12a [infra] Always re-run GN in build.py
The workflow of using tools/gn.py followed-by tools/build.py is no
longer working as it used to (the latter will override whatever the
former configured).

Instead one should pick between:

  tools/gn.py & ninja
  tools/build.py

=> Both tools/gn.py and tools/build.py suport the same options.

This CL also makes tools/build.py stop using tools/generate_buildfiles.py (which
would get just overriden by the re-run of GN).

Change-Id: Ie698d7395e8c5862ae04a479c7c820c76ac5565d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/154323
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: William Hesse <whesse@google.com>
2020-07-15 09:01:28 +00:00
Srujan Gaddam 63a57a76ce [dart:html] Revert "[dart:html] Revert commits using MDN compatibility info"
This reverts commit f8ff12008e.

This CL is a revert of the initial revert and should be landed once
Flutter changes have been merged to handle the changes here.

Change-Id: I300a5efd776bf2a596743971f4e15ad62da77f5a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/153368
Commit-Queue: Srujan Gaddam <srujzs@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2020-07-14 23:18:43 +00:00
Jonas Termansen e7abc41107 [benchmark] Use the VM from the SDK for analyzer benchmarks.
Change-Id: Ia0beb25928a469cb22c77bed2709cf970d495225
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/154325
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2020-07-14 16:05:47 +00:00
Martin Kustermann 2a11b9b426 [infra] Add using_goma=False (fixes recent tools/build.py change)
Change-Id: I9edf8c4451c3a14597aa0927f5c63e2e62bb5c49
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/154326
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: Jonas Termansen <sortie@google.com>
2020-07-14 15:28:20 +00:00
Martin Kustermann be9b69553d [infra] Prepare to make tools/build.py always re-runs GN.
Also adds a '-nvh' short-hand for '--no-verify-sdk-hash'

Change-Id: If893953e592128a8fa0b2f2e5720748d4b9b76aa
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/153770
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: William Hesse <whesse@google.com>
Reviewed-by: Jonas Termansen <sortie@google.com>
2020-07-14 14:10:11 +00:00
William Hesse c54f38f2c1 [build] Change flutter-engine patch for async to use updated Dart SDK hash
Change-Id: Ied50a96ba3bf7c1d9ca7bdf06f793822cb86167d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/154011
Reviewed-by: Martin Kustermann <kustermann@google.com>
2020-07-14 09:32:07 +00:00
Jacob MacDonald 05c7980fff update async in the sdk, add flutter engine patch
Change-Id: I17e088df3024992c4ea19a6dc2bcd63ba0dbb11b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/153620
Reviewed-by: William Hesse <whesse@google.com>
Auto-Submit: Jake Macdonald <jakemac@google.com>
2020-07-14 08:40:34 +00:00
Stephen Adams f997d62a6d [html] Better code for Element / _ChildrenElementList method
Two tricks let us compile this more efficiently:

    e.children.addAll(cs);

Normally, get$children is inlined, returning a _ChildrenElementList
wrapper, generating:

     new W._ChildrenElementList(e, e.children).addAll$1(0, cs);

The two tricks:

1. Split _ChildElementList.addAll into an 'unwrap' that then calls the
   logic in '_addAll'

2. Add information about the properties of e.children that allow it to
   be removed.

With these tricks, dart2js can optimize the code to this version that
avoids allocating a wrapper or accessing the 'children' property:

     W._ChildrenElementList__addAll(e, cs);

Change-Id: Ifdf533ac4f9790f09f87302e67304b5696097266
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/153904
Reviewed-by: Srujan Gaddam <srujzs@google.com>
Commit-Queue: Stephen Adams <sra@google.com>
2020-07-13 20:33:19 +00:00
Alexander Thomas 98dec1b537 [infra] Use mac_use_goma_rbe=true on dart-sdk-mac
This uses the build feature added by:
https://dart-review.googlesource.com/c/sdk/+/139782

Bug:b/151697301
Cq-Include-Trybots: dart/try:dart-sdk-mac-try
Change-Id: Ia8e748c1b8f0bc8836d94b110e686c41d3b69094
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/153982
Auto-Submit: Alexander Thomas <athom@google.com>
Commit-Queue: William Hesse <whesse@google.com>
Reviewed-by: William Hesse <whesse@google.com>
2020-07-10 15:52:57 +00:00
Jonas Termansen 7a1d6a9942 [benchmark] run_vm_tests with kernel-service.dart.snapshot.
This change tests that run_vm_tests runs correctly when provided with
the kernel service snapshot, which is needed to run benchmarks like
UseDartApi.

Test building the kernel-service.dart.snapshot.

Change-Id: I1cb750a16e32daba2eee46e245cc7d4e7d230165
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/151395
Reviewed-by: Alexander Aprelev <aam@google.com>
2020-07-10 13:35:03 +00:00
Karl Klose 96d839a436 [infra] Remove trailing new-line from auth token file
The result from 'gcloud auth print-access-token' contains a
new-line that cannot be used in the header. To make this use case
easier, remove new-lines, if found.

Change-Id: I44a9cc2bcfe4a8ef06e47a8495e69e116e9a6dfa
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/153921
Commit-Queue: Karl Klose <karlklose@google.com>
Reviewed-by: William Hesse <whesse@google.com>
2020-07-10 09:52:38 +00:00
Jonas Termansen c84c1cb832 [benchmark] Don't pass --sound-null-safety to dart_precompiled_runtime2.
The autodetection was fixed in bbc8aedada,
so the workaround of passing --sound-null-safety to the AOT runtime is
no longer needed.

This change tests that the autodetection does in fact work.

Bug: https://github.com/dart-lang/sdk/issues/42421
Change-Id: Ibbe9665905e817a28964b698e6c437897c9dc6ee
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/153771
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2020-07-09 17:21:52 +00:00
Karl Klose 7940835945 [infra] Support reading builder status from staging database
Change-Id: Ic8397c68d441bb256a6165834f7550f0f4a490c8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/153774
Reviewed-by: William Hesse <whesse@google.com>
Commit-Queue: Karl Klose <karlklose@google.com>
2020-07-09 13:14:02 +00:00
Alexander Markov 6f6b1f8818 [vm] Rename --null-safety option to --sound-null-safety
Deprecated option --null-safety still remains in order to allow
graceful migration.

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

Change-Id: Ie47b1bebc9dd6532658a60743ecb85dc7fdc108c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/153660
Reviewed-by: Siva Annamalai <asiva@google.com>
Reviewed-by: Régis Crelier <regis@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2020-07-09 01:37:23 +00:00
Clement Skau fcbf5341f0 [SDK] Fixes crash in tools/run_abi_tests.py
logRecords is expected to be of type dict, but the fallback value
was previously set to [] (type list).

This CL changes the fallback values to an empty dict.
It also uses the builtin dict.get() to handle to fallback instead
of manually doing so.

Note: This CL will not make the bot go green.
It will change it from purple (infra failure due to crash) to red
since there are tests that are legitimately failing.

Bug: https://github.com/dart-lang/sdk/issues/42625
Cq-Include-Trybots: dart/try:vm-dartkb-linux-release-x64-abi-try
Change-Id: I12ad7688719039566cd16e128997f0f8efc60a69
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/153600
Commit-Queue: Clement Skau <cskau@google.com>
Auto-Submit: Clement Skau <cskau@google.com>
Reviewed-by: Daco Harkes <dacoharkes@google.com>
2020-07-08 09:56:04 +00:00
Jonas Termansen d47395255b [benchmark] dartdevc doesn't need the --kernel option anymore.
Change-Id: Ibb90f674b181de225ccb4db7087c5733122f2891
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/153463
Auto-Submit: Jonas Termansen <sortie@google.com>
Commit-Queue: Nicholas Shahan <nshahan@google.com>
Reviewed-by: Nicholas Shahan <nshahan@google.com>
2020-07-07 16:11:51 +00:00
Clement Skau bec928c89f [SDK] Bumps ABI version for sdk_hash.
The ABI version was bumped in the first revision of the sdk_hash CL,
but was lost during a rebase:
https://dart-review.googlesource.com/c/sdk/+/152802/1

Change-Id: Ic677ada4923c92b9ad5e799e86564fffdfef0870
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/153460
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Clement Skau <cskau@google.com>
2020-07-07 14:53:21 +00:00
Clement Skau 0ce83987d6 Reland "[SDK] Adds an SDK hash to kernels and the VM."
Note: This is a reland of https://dart-review.googlesource.com/c/sdk/+/150343

Adds a new SDK hash to kernels and the VM which is optionally checked
to verify kernels are built for the same SDK as the VM.
This helps catch incompatibilities that are currently causing
subtle bugs and (not so subtle) crashes.

The SDK hash is encoded in kernels as a new field in components.
The hash is derived from the 10 byte git short hash.

This new check can be disabled via:
  tools/gn.py ... --no-verify-sdk-hash

This CL bumps the min. (and max.) supported kernel format version,
making the VM backwards incompatible from this point back.

This also bumps the min. and current ABI version.

Bug: https://github.com/dart-lang/sdk/issues/41802
Change-Id: I2f85945045a603eb9dcfd1f2c0d0d024bd84a956
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/152802
Commit-Queue: Clement Skau <cskau@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2020-07-07 06:08:20 +00:00
Jonas Termansen a0d77cbc69 [benchmark] Test dart2js sound nullability options.
Change-Id: Ie548ad57094cd334b95d1c49f2a8f02ce762f56f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/153207
Reviewed-by: Alexander Thomas <athom@google.com>
2020-07-03 14:27:32 +00:00
Erik Ernst f4d7951a88 For external/abstract fields: add tests and update Dart.g
This CL adds tests in language/external_abstract_fields, testing the
support for abstract instance variables, and for external top-level,
class, and instance variables. It is tested that the syntax of
supported declarations is accepted, and a number of non-supported
forms are rejected, and abstract fields are tested at run time as well.

The implementation of external fields is provided by an implementation
specific mechanism, and no tests are added for any such mechanisms
(that is, with external fields we only test errors).

This CL also updates the spec grammar Dart.g to include grammar
rules for the new kinds of declarations, and it has been verified that
the new tests are passing, respectively cause syntax errors, as
indicated in the test files.

The tests are a further development of the ones in
https://dart-review.googlesource.com/c/sdk/+/145862.

Change-Id: I13be746a05d5acf0117d8cb22151bd9863a71a78
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/148324
Commit-Queue: Erik Ernst <eernst@google.com>
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
2020-07-02 13:39:39 +00:00
Srujan Gaddam f8ff12008e [dart:html] Revert commits using MDN compatibility info
This reverts commits aff77e7e..e24f205d.

Due to a breakage in a Flutter roll, this CL stack needs to be
reverted. It should be reintroduced with changes to Flutter code to
compile with the changes in dart:html.

Breakage: https://github.com/flutter/engine/runs/828631927

Change-Id: I9c93c4eab823337d09d2e347015ad9ec402f2038
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/152910
Auto-Submit: Srujan Gaddam <srujzs@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Jake Macdonald <jakemac@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Jake Macdonald <jakemac@google.com>
2020-07-02 01:33:18 +00:00
Srujan Gaddam e24f205d16 [dart:html] Mark setters nullable if incompatible as well
Getter types need to be a subtype of the setter type, so if getters
are nullable due to incompatibility, the setter needs to be as well.
This change makes those changes, updates documentation, and modifies
a template and test file.

Change-Id: I2130538bb4005b3553eb7951af022c1c2ed59c1e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/152607
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Srujan Gaddam <srujzs@google.com>
2020-07-01 22:06:34 +00:00
Srujan Gaddam 7349385185 [dart:html] Changes to template/src to handle compat data
Mostly null-assertions to make code compatible with compat
data changes.

Change-Id: I8f7c6c2421d6427851a44588978910deae8440bd
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/152047
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2020-07-01 22:06:34 +00:00
Srujan Gaddam 76d7739cf7 [dart:html] Add compatiblity to manually written native getters
Native getters in src/template files are modified to reflect the info
in the compatibility data.

Change-Id: I98f96737e21c7b4ce6bd17ea398e9806c61122b9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/152046
Reviewed-by: Stephen Adams <sra@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2020-07-01 22:06:34 +00:00
Srujan Gaddam 1d97a4a375 [dart:html] Handle method overrides for MDN
Native getters that are incompatible were marked as nullable even
though they may override methods that aren't nullable. This fixes
those conflicts for various HTML methods.

Change-Id: I7c2456d5d223d825428cedb847d20139b7d271c7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/152045
Reviewed-by: Stephen Adams <sra@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2020-07-01 22:06:34 +00:00