5533a256cb
this includes various cleanups found along the way: * various issues with JS annotations, see #30043 * getGenericClass is now optimized when used in a JS builtin with a Type literal * typed list literals should be slightly faster to create * memoized getters used by dart:_runtime should be faster * registerExtension should be a tad faster, and now understands JSArray * dart.bind "safeName" hack gone in codegenerator * JSArray<E>.runtimeType returns List<E> * JSArray<E>.noSuchMethod works * cleans up code that generates `setExtensionBaseClass` (used only by JSArray) * _throwUnsafe helper for generating a `throw` in --unsafe compile mode * fix tearoff of JS interop types (_emitSimpleIdentifier) * fix TODO about splitting LazyJSType and AnonymousJSType * fix is/as/cast methods on TypeRep and related classes * fix codegenerator to not tearoff "hashCode" and "runtimeType" (they are not methods) * fix NoSuchMethodError.toString() (update via dart2js sdk impl) R=vsm@google.com Review-Url: https://codereview.chromium.org/2962263002 .
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.