[web]: remove a couple dynamic calls in the sdk
Change-Id: I59d4697e981417a695a08b21f3b350fa6f84f484
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/232962
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
diff --git a/pkg/compiler/test/analyses/api_allowed.json b/pkg/compiler/test/analyses/api_allowed.json
index c54c832..645ff86 100644
--- a/pkg/compiler/test/analyses/api_allowed.json
+++ b/pkg/compiler/test/analyses/api_allowed.json
@@ -14,15 +14,11 @@
"org-dartlang-sdk:///lib/_http/websocket_impl.dart": {
"Dynamic invocation of 'dart._http::_toJSON'.": 1
},
- "org-dartlang-sdk:///lib/_internal/js_runtime/lib/js_number.dart": {
- "Dynamic invocation of '[]'.": 5
- },
"org-dartlang-sdk:///lib/_internal/js_runtime/lib/js_helper.dart": {
"Dynamic access of 'length'.": 1
},
"org-dartlang-sdk:///lib/_internal/js_runtime/lib/async_patch.dart": {
- "Dynamic access of 'iterator'.": 1,
- "Dynamic invocation of 'then'.": 1
+ "Dynamic access of 'iterator'.": 1
},
"org-dartlang-sdk:///lib/_internal/js_runtime/lib/convert_patch.dart": {
"Dynamic invocation of 'clear'.": 1
@@ -109,4 +105,4 @@
"org-dartlang-sdk:///lib/core/errors.dart": {
"Dynamic access of 'length'.": 2
}
-}
\ No newline at end of file
+}
diff --git a/sdk/lib/_internal/js_runtime/lib/async_patch.dart b/sdk/lib/_internal/js_runtime/lib/async_patch.dart
index 4888baf..5f8f5af 100644
--- a/sdk/lib/_internal/js_runtime/lib/async_patch.dart
+++ b/sdk/lib/_internal/js_runtime/lib/async_patch.dart
@@ -481,7 +481,7 @@
add(event) => controller.add(event);
- addStream(Stream<T> stream) {
+ Future addStream(Stream<T> stream) {
return controller.addStream(stream, cancelOnError: false);
}
diff --git a/sdk/lib/_internal/js_runtime/lib/js_number.dart b/sdk/lib/_internal/js_runtime/lib/js_number.dart
index 678a61b..f217b53 100644
--- a/sdk/lib/_internal/js_runtime/lib/js_number.dart
+++ b/sdk/lib/_internal/js_runtime/lib/js_number.dart
@@ -242,7 +242,7 @@
static String _handleIEtoString(String result) {
// Result is probably IE's untraditional format for large numbers,
// e.g., "8.0000000000008(e+15)" for 0x8000000000000800.toString(16).
- var match = JS('JSArray|Null',
+ List? match = JS('JSArray|Null',
r'/^([\da-z]+)(?:\.([\da-z]+))?\(e\+(\d+)\)$/.exec(#)', result);
if (match == null) {
// Then we don't know how to handle it at all.