Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2117)

Unified Diff: dart/sdk/lib/_internal/compiler/js_lib/js_mirrors.dart

Issue 938413002: Work around Safari for-in bug. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge
Patch Set: Merged with r43958. Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: dart/sdk/lib/_internal/compiler/js_lib/js_mirrors.dart
diff --git a/dart/sdk/lib/_internal/compiler/js_lib/js_mirrors.dart b/dart/sdk/lib/_internal/compiler/js_lib/js_mirrors.dart
index 9d55eed28348cf7dd64e65e45d9317e3d6dd0ed6..2b0005726cd7e3ac224eb99beb7a50c83ba66a69 100644
--- a/dart/sdk/lib/_internal/compiler/js_lib/js_mirrors.dart
+++ b/dart/sdk/lib/_internal/compiler/js_lib/js_mirrors.dart
@@ -2234,7 +2234,9 @@ class JsClosureMirror extends JsInstanceMirror implements ClosureMirror {
String callPrefix = "${JS_GET_NAME("CALL_PREFIX")}\$";
var extractCallName = JS('', r'''
function(reflectee) {
- for (var property in reflectee) {
+ var properties = Object.keys(reflectee.constructor.prototype);
+ for (var i = 0; i < properties.length; i++) {
+ var property = properties[i];
if (# == property.substring(0, #) &&
property[#] >= '0' &&
property[#] <= '9') return property;

Powered by Google App Engine
This is Rietveld 408576698