[ddc] Cleanup dynamic calls in core_patch.dart
Change-Id: I453b9b034c4656db96bb034a39602c5514a5bed9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/328663
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Nicholas Shahan <nshahan@google.com>
diff --git a/pkg/dev_compiler/test/dynamic/platform_allowed.json b/pkg/dev_compiler/test/dynamic/platform_allowed.json
index 1d80d5c..eafefc7 100644
--- a/pkg/dev_compiler/test/dynamic/platform_allowed.json
+++ b/pkg/dev_compiler/test/dynamic/platform_allowed.json
@@ -70,9 +70,5 @@
},
"sdk/lib/core/errors.dart": {
"Dynamic access of 'length'.": 2
- },
- "sdk/lib/_internal/js_dev_runtime/patch/core_patch.dart": {
- "Dynamic access of 'length'.": 1,
- "Dynamic invocation of 'sublist'.": 1
}
}
\ No newline at end of file
diff --git a/sdk/lib/_internal/js_dev_runtime/patch/core_patch.dart b/sdk/lib/_internal/js_dev_runtime/patch/core_patch.dart
index f0ca6d7..7a33904 100644
--- a/sdk/lib/_internal/js_dev_runtime/patch/core_patch.dart
+++ b/sdk/lib/_internal/js_dev_runtime/patch/core_patch.dart
@@ -598,7 +598,7 @@
@patch
factory String.fromCharCodes(Iterable<int> charCodes,
[int start = 0, int? end]) {
- if (charCodes is JSArray) {
+ if (charCodes is JSArray<int>) {
return _stringFromJSArray(charCodes, start, end);
}
if (charCodes is NativeUint8List) {
@@ -620,11 +620,11 @@
}
static String _stringFromJSArray(
- /*=JSArray<int>*/ list, int start, int? endOrNull) {
+ JSArray<int> list, int start, int? endOrNull) {
int len = list.length;
int end = RangeError.checkValidRange(start, endOrNull, len);
if (start > 0 || end < len) {
- list = list.sublist(start, end);
+ list = JS('!', '#.slice(#, #)', list, start, end);
}
return Primitives.stringFromCharCodes(list);
}