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

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: More issues discovered during testing. 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 e34319e58c2b6d8aee4ed75c3b8490822bad867e..81240e9d48aa6d62b53f94b2c67e34d77e6f5f5a 100644
--- a/dart/sdk/lib/_internal/compiler/js_lib/js_mirrors.dart
+++ b/dart/sdk/lib/_internal/compiler/js_lib/js_mirrors.dart
@@ -2236,7 +2236,9 @@ class JsClosureMirror extends JsInstanceMirror implements ClosureMirror {
String callPrefix = "${JS_GET_NAME(JsGetName.CALL_PREFIX)}\$";
var extractCallName = JS('', r'''
function(reflectee) {
- for (var property in reflectee) {
+ var properties = Object.keys(reflectee.constructor.prototype);
floitsch 2015/02/23 14:14:26 Are you sure this is equivalent? Does the JsClosu
ahe 2015/02/23 15:04:45 It doesn't. It only gets invoked for actual closur
+ 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