Commit Graph

896 Commits

Author SHA1 Message Date
Joshua Litt 494f822c70 [dart2js] Migrate core to nnbd.
Change-Id: I96dbe62334ab4b37b0ae758908192bb8610b5694
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/135487
Commit-Queue: Joshua Litt <joshualitt@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2020-02-14 16:39:47 +00:00
Joshua Litt c894118574 [dart2js] Migrate js patch file to NNBD.
Change-Id: I51296bd310c5ce902483253656acf07263d9244b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/135486
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2020-02-14 00:03:27 +00:00
Konstantin Shcheglov ed705e8c84 Move DEAD_NULL_COALESCE reporting to ErrorVerifier.
So, it is reported even when hints are disabled.

Change-Id: Id2df8faa5421fac00e01755a70aedf3d3f570f10
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/135492
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2020-02-13 19:42:48 +00:00
Joshua Litt 93bb4b0f1b [dart2js] Migrate a couple of trivial libraries to nnbd.
Change-Id: I5940b3ec3d322cabd41b68ccc128054041891b88
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/135485
Commit-Queue: Joshua Litt <joshualitt@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2020-02-13 19:40:40 +00:00
Joshua Litt 166edab750 [dart2js] Migrate developer patch file to nnbd.
Note: This is mostly just the DDC developer patch file.
Change-Id: I98277304b2fbe8fa939dc7e6fb4bd9e0c199b2b0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/135535
Commit-Queue: Joshua Litt <joshualitt@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2020-02-13 18:37:38 +00:00
Sigmund Cherem f1d715b4d6 [dart2js] migrate dart:_interceptors and dart:internal patch files
Change-Id: I54b81401c94c866770c492f818e76dcf6d40868f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/135488
Reviewed-by: Joshua Litt <joshualitt@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
2020-02-13 02:16:57 +00:00
Joshua Litt 60295a2cef [dart2js] Migrate async_patch.dart to nnbd.
Change-Id: I11a78e5f085e0121a7bdd34de7ab92bddca44f60
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/135480
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Joshua Litt <joshualitt@google.com>
2020-02-12 20:09:47 +00:00
Joshua Litt ad5ee10e69 [dart2js] Migrate a number of trivial libraries to nnbd fork.
Change-Id: I3108823590b41d16a8d0baa25a6760499b2d2f6d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/135355
Commit-Queue: Joshua Litt <joshualitt@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2020-02-12 16:43:37 +00:00
Paul Berry 95aade379b Skip test step "check nnbd sdk" on Windows.
The golden file used by this test includes paths that don't match the
paths emitted during analysis on Windows.  After discussion with
Konstantin, Nicholas, and Siggi, we agreed that we don't need to run
this test on Windows.

Change-Id: Ib39b58752c2a5967fde55936c5ca5490bfe94f86
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/135121
Reviewed-by: Nicholas Shahan <nshahan@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2020-02-12 00:00:55 +00:00
Sigmund Cherem 74f523a186 Add separate libraries.json file to help migrate dart2js libraries.
This temporarily:
* sets back to opt-out all libraries in the sdk_nnbd folder until
the migration is further along
* changes the bot to use the check_nnbd_sdk script with a different libraries
file that tracks the migration progress.

Change-Id: I096df232d23e2fb41265b6a51c486fb44f9b228c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/135221
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Bob Nystrom <rnystrom@google.com>
Reviewed-by: Joshua Litt <joshualitt@google.com>
2020-02-11 22:49:15 +00:00
Konstantin Shcheglov 085c4b49a4 Issue 40482. Fix for Function?.call() reporting unchecked nullable.
Bug: https://github.com/dart-lang/sdk/issues/40482
Change-Id: Ifb65cd8016dca18c634cd216759278b7518d41ef
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/135185
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2020-02-10 23:26:55 +00:00
Srujan Gaddam 5e74472449 Handle optionals in DOM scripts for NNBD
Optionals were being ignored for some methods and for optionals that
have a default of Undefined or None, they should be marked nullable in
Dart syntax regardless of whether they are in the IDL.

Change-Id: Icc71300dc7d8e06fef640a5ca8d502b093c0580c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134765
Commit-Queue: Srujan Gaddam <srujzs@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2020-02-10 22:26:35 +00:00
Vijay Menon 05b806ace7 [dartdevc,nnbd] analyze whole sdk, fix isolate errors
This should fix all ddc isolate errors.  Remaining two io/_http errors are due to:
https://github.com/dart-lang/sdk/issues/40482

The rest are mirrors.  Do we think we'll be able to remove it altogether?  If not,
I can take a pass to fix.

Change-Id: I4cef9773b5fa36490bdfbc08a06fae6cd80c5eae
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134860
Reviewed-by: Nicholas Shahan <nshahan@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2020-02-07 20:50:16 +00:00
Srujan Gaddam dae60008ab DOM script changes to handle nnbd
-Adds field for type nullability for IDL operations
-Adds field for conversions to reflect input and output type nullability
--based on implementation
-Corrects generic object types to include nullability
-Changes 'any' types to dynamics
-Adds nullability to types in various operations
-Converts finals and non-initialized non-nullable fields to getters and
setters
--TODO: convert these to native instead of JS inline
-Modifies nullability for annotations and removes annotations from
setters

Change-Id: Iab19830fd1d7f37b170a4da8672f922c3f9b0863
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/132967
Commit-Queue: Srujan Gaddam <srujzs@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2020-02-07 01:05:14 +00:00
Srujan Gaddam 3776313e65 Change dart:html templates to generate null-safe code
Introduces NULLASSERT token and NNBD condition to allow code to
conditionally compile with NNBD.

Change-Id: Ib71e439f32c793e69b66c328cd7c9900358d886e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134045
Commit-Queue: Srujan Gaddam <srujzs@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2020-02-06 23:18:24 +00:00
Sigmund Cherem 40a03f472a [dart2js] Make dart:_native_type_data null safe.
This mostly copies the changes from DDC to the dart2js implementation.

Change-Id: Ib56b607a6cea3df0e319e32cd4afa6b5b55b03d5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134463
Reviewed-by: Bob Nystrom <rnystrom@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
2020-02-05 19:34:59 +00:00
Sigmund Cherem eb54b5bb9b Formatting changes to dart:_native_type_data to make dart2js and ddc more similar.
Mostly changes to the comment syntax, removing optional `new`, and using the
same kind of quotes on strings.

Change-Id: Ia6d7f38523312f67cfa30cd30cef994759d40ef1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134480
Reviewed-by: Bob Nystrom <rnystrom@google.com>
2020-02-05 19:34:59 +00:00
Vijay Menon ce21fd034e [dartdevc,nnbd] fix type errors in dart:_interceptors
Change-Id: If842fbab8bc043c9331529d1280c57faa7ce6769
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134407
Auto-Submit: Vijay Menon <vsm@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Vijay Menon <vsm@google.com>
2020-02-04 23:46:37 +00:00
Srujan Gaddam 851912cc1d Change nnbd_src files to be null-safe
Translates the forked nnbd_src files to address analyzer issues.

Change-Id: Ida21988bff63a6c5a037b548d0c8b11208317b3e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130131
Commit-Queue: Srujan Gaddam <srujzs@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2020-02-04 01:57:39 +00:00
Nicholas Shahan 3ca719b44c [dartdevc] Enforce omit_local_variable_types lint
Change-Id: I50d9c073ec337d5f05203b30abf289877fdeb08f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134082
Commit-Queue: Nicholas Shahan <nshahan@google.com>
Reviewed-by: Nate Bosch <nbosch@google.com>
2020-02-03 23:41:17 +00:00
Konstantin Shcheglov 49e2ed34a2 Issue 40304. Use runtime type equality for checking overrides.
Bug: https://github.com/dart-lang/sdk/issues/40304
Bug: https://github.com/dart-lang/sdk/issues/40279
Change-Id: I55a27335cfa923297ee580de6e79df15de004879
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134221
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2020-02-03 22:52:46 +00:00
Konstantin Shcheglov a0ca3e720e Update dev_compiler/tool/dart2js_nnbd_sdk_error_golden.txt after analyzer change.
TBR

Change-Id: I8da2f14102973dd738a19d4e0c13687f10767486
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134202
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2020-02-03 21:42:11 +00:00
Sigmund Cherem 07675de0c0 Fix type error within _EventStream.onData
The constructor was wrapping the onData handler to hide the type-mismatch. This
copies the same logic to the onData handler.

In non-nnbd code this code was not exercised. The migration of dart:async
made this code reachable on our tests. That's because Stream.first used to
do:

  var subscription;
  this.listen(() => ... cancel subscription here, ...)

it now avoids making subscription nullable by registering the onData handler
later:

  var subscrition = stream.listen(null, ...);
  subscription.onData(() => ... cancel subscription here);

This change fixes the following 6 html tests under nnbd:
html/history_test/history/history
html/transferables_test
html/transition_event_test
html/websocket_test
html/worker_test/functional/functional
html/xhr_test


Change-Id: I095ea8d545e65b047504af0367586884bba84d72
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134120
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Srujan Gaddam <srujzs@google.com>
2020-02-02 05:58:24 +00:00
Sigmund Cherem c693a9a093 fix dart2js golden file.
I believe the new errors are correct, they are just reported differently since
the changes in https://dart-review.googlesource.com/c/sdk/+/134120

Change-Id: I161eb37a59e755ff84d40741ca1c460564c67474
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134104
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
2020-01-31 23:52:02 +00:00
Sigmund Cherem 1349a64d6a Update check_nnbd_sdk to diff expectations directly in dart.
This makes the script properly produce an error message when
it detects a mismatch on windows (there `diff` is not available.)

Change-Id: Ibefe8c69023b42e8710e744f88257ff967d34bd2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134094
Reviewed-by: Vijay Menon <vsm@google.com>
Reviewed-by: Nicholas Shahan <nshahan@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
2020-01-31 21:33:42 +00:00
Sam Rawlins 637a801e64 Use 'enum' and 'mixin' with undefined getters, methods, operators, setters
Fixes #40177

Change-Id: I0b416a4e77d3d1c5afc1712301c5cf1ea4cfc8d9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/133043
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2020-01-30 17:01:58 +00:00
Konstantin Shcheglov e766a6f145 Use Never and Object? in NNBD bottom / top.
Bug: https://github.com/dart-lang/sdk/issues/40283
Change-Id: I2ebfc650b3d454bcd80f8f8ae33ed5311a23dd24
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/133880
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2020-01-30 04:05:50 +00:00
Srujan Gaddam 28917d8b1d Handle invalid overrides in template and src dart files
Several functions did not override their parents' function signatures
correctly for nnbd.

Change-Id: Ibd935ffa39b3175db65bb43d15396134700d2f78
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/129143
Commit-Queue: Srujan Gaddam <srujzs@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2020-01-29 22:22:50 +00:00
Nicholas Shahan 2d5265f59d [dartdevc] Apply always_declare_return_types lint and cleanup violations
In most cases I provided the type that appeared in the return
statements. For a few test files I explicitly typed the return types as
dynamic because it caused diffs in the expected break point locations
when adding more explicit types and it wasn't totally clear what the
new locations should be.

Change-Id: Ifdd80edcccc5fc4a2083ecdbb0e5fbf1c4453e01
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/133339
Reviewed-by: Nate Bosch <nbosch@google.com>
Commit-Queue: Nicholas Shahan <nshahan@google.com>
2020-01-29 07:17:22 +00:00
Konstantin Shcheglov 220fbf2174 Update dartdevc_nnbd_sdk_error_golden.txt after analyzer error code changes.
TBR

R=brianwilkerson@google.com, paulberry@google.com

Change-Id: I2bc4a1bc945eaa34260dd51fae74ecc5678f20f2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/133667
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2020-01-29 06:40:04 +00:00
Srujan Gaddam 7db61c6b01 Changing the dart:html generator scripts to generate null-safe/nnbd code
Change-Id: I4a8b097b126864366076b1e73cf3e0296600380e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/128376
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Srujan Gaddam <srujzs@google.com>
2020-01-29 00:20:42 +00:00
asiva c2fb631d99 [VM/libraries] Fix final set of warnings in dart:core and dart:typed_data
Change-Id: If05b13eba924fbeaad2a82598a5255f12ba6b1b0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/133323
Commit-Queue: Siva Annamalai <asiva@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2020-01-27 19:51:14 +00:00
Sigmund Cherem 4a42831e85 Use source-maps in test runner to expand JavaScript stack traces.
This works on all browsers, in d8, and supports both dartdevk and
dart2js. In the case of dart2js, this also expands minified names and
inlined data.

The result is presented to users as a separate section, so the original
JS stack trace is printed as is, and a second deobfuscated stack trace
is printed afterwards.

Change-Id: I10af5e0241a8c87ad8db48234ce52cfb51a27411
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/132966
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Vijay Menon <vsm@google.com>
Reviewed-by: Bob Nystrom <rnystrom@google.com>
2020-01-24 20:00:13 +00:00
Jacob MacDonald 2b221f9b49 Require pre-initialized importToSummary and summaryToModule maps in the ProgramCompiler constructor, and remove the corresponding arguments from emitModule.
This allows these maps to be re-used across multiple instances.

Change-Id: I433538d88dbe0348e2cfa592dae2e17af3dc17b4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/133150
Reviewed-by: Mark Zhou <markzipan@google.com>
Commit-Queue: Jake Macdonald <jakemac@google.com>
2020-01-24 17:23:09 +00:00
Vijay Menon 528edcf6a9 Add node-source-map-support for better web stack traces during testing
Change-Id: I9e500c4e47819d77c4c81a1027e6665a34d3fd29
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/132520
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Vijay Menon <vsm@google.com>
2020-01-21 22:09:19 +00:00
Sigmund Cherem f910a7575f dart2js nnbd setup
- fixes check_nnbd_sdk.dart to run on dart2js patch files
- splits golden file used by that script by target
- adds it to the old-rti bot (until we get the new nnbd bot)
- adds a suite that runs legacy tests in nnbd weak mode

Change-Id: I0a89534dcd1cf7338849d59ab3e5d989d2ecf3d0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/131885
Reviewed-by: Vijay Menon <vsm@google.com>
2020-01-21 06:22:51 +00:00
Nicholas Shahan 16a1237dd7 Fix windows path bug and re-enable nnbd sdk patch and analysis test
Fixing the bug on windows felt more trivial than forking the testbot
configurations to avoid running the test on windows.

Change-Id: Ib4cbe72a226aee0083682197a69b2178eea8bea4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/132100
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Vijay Menon <vsm@google.com>
Commit-Queue: Nicholas Shahan <nshahan@google.com>
2020-01-17 23:07:26 +00:00
Vijay Menon 9447686d82 [nnbd] port dart:js_util to nnbd
Change-Id: I5ec29e77dd747aaab28cf3b1b20fd47b21e2d129
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/132181
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Vijay Menon <vsm@google.com>
2020-01-17 01:19:35 +00:00
Vijay Menon 17f80f0d1f [nnbd] port dart:js to nnbd
This tests static analysis on the ddc patch, but not the dart2js one yet.

It also fixes js/null_test.dart to ensure it passes.  Note, that test was broken independent of NNBD.

Change-Id: I5a6bfdfaac845eaba6f154d30f2c1e30199574d0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/131300
Commit-Queue: Vijay Menon <vsm@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2020-01-16 19:26:18 +00:00
Vijay Menon f4848eb112 [dartdevc,nnbd] fix static async errors
Change-Id: I903f4483f33f737aea877a49999d02a82558dd1e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130923
Reviewed-by: Mark Zhou <markzipan@google.com>
Commit-Queue: Vijay Menon <vsm@google.com>
2020-01-10 18:32:24 +00:00
Vijay Menon 4ca345e80f [dartdevc] regression test for dart:* nnbd static errors on bots
Change-Id: I6e9f2fe7075efef496f203ffe42cf10cdc1e660a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130881
Commit-Queue: Vijay Menon <vsm@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2020-01-10 00:33:57 +00:00
Nate Bosch 2d82fb42ce Enforce and fix lint prefer_single_quotes
Change-Id: I7e7b18d90ae8518c700607ec383c73a0eda5a299
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130726
Reviewed-by: Nicholas Shahan <nshahan@google.com>
Commit-Queue: Nicholas Shahan <nshahan@google.com>
Auto-Submit: Nate Bosch <nbosch@google.com>
2020-01-08 22:07:21 +00:00
Vijay Menon a21f295da9 [dartdevc] fix nnbd static errors on sdk
See https://github.com/dart-lang/sdk/issues/40022 - we get 30+ errors due to that.
Suppressing for now.

Change-Id: I7b14203c7b479e67fbbb0bc396162cdf23b38b3f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130741
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Vijay Menon <vsm@google.com>
2020-01-08 20:09:20 +00:00
Nicholas Shahan 5f9346a2f5 [dartdevc] Add an nnbd runtime mode weak/strong option to ddb script
Cleaned up the help message printing and sorted the options alphabetically
since the list is getting longer.

Makes it easier to run a file in the various modes. Will automatically pass
the experiment flag to dartdevc if you run with weak or strong.

Added a verbose mode to print the commands being run with all the args and
environment.

Change-Id: I515d185d940b0a13ac74b8b58ae1510a5b203ae7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/128775
Reviewed-by: Mark Zhou <markzipan@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Nicholas Shahan <nshahan@google.com>
2019-12-19 00:02:31 +00:00
Nicholas Shahan c561a9eacc [dartdevc] Delete the legacy version of DDC
Change-Id: I2dc3999b0b7e93252402422d662fb5da4dcca3f9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/127840
Commit-Queue: Nicholas Shahan <nshahan@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Mark Zhou <markzipan@google.com>
2019-12-12 21:53:08 +00:00
Nicholas Shahan 2015c55277 [dartdevc] Remove ability to run analyzer based DDC
This is the first step in deleting legacy DDC!
* Default all invocations of DDC to run the kernel version.
* Disable all tests that run analyzer DDC.
* Detect the most likely case when invoked with an analyzer
  summary and print instruction to update build_web_compilers
  dependency.

I will follow up with deletions, and a rename of the test configurations/
builders to reclaim the names (ddc vs ddk, dartdevc vs dartdevk).

Issue #38777

Change-Id: I1477f0274b6b7f345a5e19d2b3f93797c454a09e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/127067
Commit-Queue: Nicholas Shahan <nshahan@google.com>
Reviewed-by: Mark Zhou <markzipan@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2019-12-09 22:11:22 +00:00
Nicholas Shahan 740af3c009 [dartdevc] Pass nnbd experiment to analyzer in check_nnbd_sdk.dart
Also add a help option to print the help text it already has.

Change-Id: Ifb5036ace762053b52ab7a5170da1bdb37b44ab7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/126302
Auto-Submit: Nicholas Shahan <nshahan@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Nicholas Shahan <nshahan@google.com>
2019-11-26 21:24:50 +00:00
Sigmund Cherem 42ec44a6a4 Reland "Revamp patch_sdk.dart mainly to use libraries.json."
This is a reland of 3c9e924073

Original change's description:
> Revamp patch_sdk.dart mainly to use libraries.json.
> 
> This will make it possible to use the script to create a patched sdk
> for dart2js and the vm (some followup needed), which will be useful
> to migrate their libraries to nnbd.
> 
> In the future, we should be able to leverage this new logic to
> write tests that ensure our sdk is warning-free (there are > 80 real
> warnings today even on the non-nnbd sdk)
> 
> In detail, this CL includes:
> 
> * loading the libraries data from libraries.json, this removes the need for a
>    hand-crafted libraries.dart that replicates the data in libraries.json.
> 
> * auto-generates a libraries.dart in the patched sdk that can be used to run
>  dartanalyzer or to compile an sdk with dartdevc-legacy.
> 
> * script simplifications in patch_sdk.dart
>     * removed tracking of modification stamps. This didn't appeared to be
>       used by the ninja rules. I believe it was used to reduce local
>       iteration cycles when we were first developing the sdk itself.
> 
>     * use Uri directly instead of package:path - this simplifies things,
>       especially since the libraries_specification is Uri-based as well.
> 
>     * switch to use package:args for parsing options
> 
>  * added an option to merge part files in a single file. I've noticed that the
>  analyzer provides some false positive errors in part files, but once merged
>  they are no longer shown. In particular, we are clearly hitting limitations of
>  dartanalyzer on the patched sdk. At this time the old patch-script generated
>  an sdk with 1500 warnings, this new script reduces it to 500 (not sure why),
>  with merging of part files it goes down to 80.
> 
> 
> Change-Id: I6bbaf92ef4554f00c8bf6b38d19bf79d44fb3e94
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/125780
> Reviewed-by: Nicholas Shahan <nshahan@google.com>
> Commit-Queue: Sigmund Cherem <sigmund@google.com>

Change-Id: Ifcb9dbef36452e41e8e96e086761d76b5a3d988e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/125998
Reviewed-by: Nicholas Shahan <nshahan@google.com>
Commit-Queue: Nicholas Shahan <nshahan@google.com>
Auto-Submit: Sigmund Cherem <sigmund@google.com>
2019-11-26 01:40:53 +00:00
Sigmund Cherem 603fd7881f (ddc) Fix deps tracking for the ddc sdk.
The compile_platform template assumes that the output will be in the root-out-dir, and because of that the generated .deps file contains relative paths that only work if the output is in that folder.

It would be nice to fix compile_platform to be more flexible about this, but for now moving the output up fixes the issue that modifications in the sdk were not triggering a rebuild.

Change-Id: Ifc1e7adb23d6911a9f71c341b7968e0a9b1d4973
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/126122
Reviewed-by: Nicholas Shahan <nshahan@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
2019-11-23 00:21:58 +00:00
Vijay Menon 8295efc541 Revert "Revamp patch_sdk.dart mainly to use libraries.json."
This reverts commit 3c9e924073.

This CL was breaking the internal build.

Change-Id: Ic4e6df070f2a87ac88ef97f0e6b07d53c13ceadc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/125925
Auto-Submit: Vijay Menon <vsm@google.com>
Commit-Queue: Vijay Menon <vsm@google.com>
Commit-Queue: David Morgan <davidmorgan@google.com>
Reviewed-by: David Morgan <davidmorgan@google.com>
2019-11-21 14:36:55 +00:00