03c8767f73
There is no actual implementation here yet (that's your job :) ), but there is:
- An external method in dart:_internal, extractTypeArguments().
- Empty patch methods for that for the VM, dart2js, and DDC. These need to have implementations
filled in.
- A "dart_internal" package to expose a subset of the API. It gives you:
extractListTypeArgument()
extractMapTypeArguments()
We'll bring this into Google, but not publish it externally unless we find we really need to.
- A test for the behavior. It probably has bugs since I can't run it.
See: https://github.com/dart-lang/sdk/issues/31371
Change-Id: I7d9f9a3a36f8e8be106440375c80d584898c83cb
Reviewed-on: https://dart-review.googlesource.com/26467
Commit-Queue: Bob Nystrom <rnystrom@google.com>
Reviewed-by: Leaf Petersen <leafp@google.com>
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Régis Crelier <regis@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
Reviewed-by: Vijay Menon <vsm@google.com>
Tools for processing the Dart SDK
patch_sdk.dart
This script combines:
tool/input_sdk/lib/...
tool/input_sdk/patch/...
tool/input_sdk/private/...
and produces the merged SDK sources in:
gen/patched_sdk/...
The result has all "external" keywords replaced with the @patch implementations.
Generally local edits should be to input_sdk/patch and input_sdk/private,
as those two directories are specific to DDC. input_sdk/lib should represent
unmodified SDK sources to the maximum extent possible. Currently there are
slight edits to the type annotations in some cases.
See patch_sdk.dart for more information.
sdk_version_check.dart
Asserts that the Dart VM is at least a particular semantic version. It returns an exit code to make it easy to integrate with shell scripts.