Index: dart/sdk/lib/_internal/lib/js_names.dart |
diff --git a/dart/sdk/lib/_internal/lib/js_names.dart b/dart/sdk/lib/_internal/lib/js_names.dart |
index 9eaf777c4119a135644e74d136f77a04511a481b..9232206513962959c5596ee82fc991655ca4b643 100644 |
--- a/dart/sdk/lib/_internal/lib/js_names.dart |
+++ b/dart/sdk/lib/_internal/lib/js_names.dart |
@@ -8,6 +8,8 @@ import 'dart:_foreign_helper' show JS, JS_GET_NAME; |
import 'dart:_js_helper' show JsCache; |
+import 'dart:_interceptors' show JSExtendableArray; |
+ |
/// No-op method that is called to inform the compiler that unmangled named |
/// must be preserved. |
preserveNames() {} |
@@ -64,7 +66,7 @@ Map<String, String> computeReflectiveNames(Map<String, String> map) { |
} |
List extractKeys(victim) { |
- return JS('List', ''' |
+ return JS('JSExtendableArray', ''' |
(function(victim, hasOwnProperty) { |
var result = []; |
for (var key in victim) { |
@@ -87,5 +89,5 @@ List extractKeys(victim) { |
*/ |
String unmangleGlobalNameIfPreservedAnyways(String name) { |
var names = JS('=Object', 'init.mangledGlobalNames'); |
- return JsCache.fetch(names, name); |
+ return JS('String|Null', '#', JsCache.fetch(names, name)); |
} |