Index: sdk/lib/_internal/lib/js_mirrors.dart |
diff --git a/sdk/lib/_internal/lib/js_mirrors.dart b/sdk/lib/_internal/lib/js_mirrors.dart |
index 1036bfdb25540a67d5e265feb3ca4b8c3aefdfed..eb70b1b49c50d499bfd66cebe2631eb2fc9ff2dc 100644 |
--- a/sdk/lib/_internal/lib/js_mirrors.dart |
+++ b/sdk/lib/_internal/lib/js_mirrors.dart |
@@ -1133,8 +1133,17 @@ class JsInstanceMirror extends JsObjectMirror implements InstanceMirror { |
var interceptor = getInterceptor(object); |
if (!useEval) return _newInterceptGetterNoEvalFn(name, interceptor); |
String className = JS('String', '#.constructor.name', interceptor); |
+ /* |
var body = "(function $className\$$name(o){return i.$name(o)})"; |
floitsch
2014/04/22 16:11:18
dead code.
sra1
2014/04/23 02:33:50
Done.
|
return JS('', '(function(b,i){return eval(b)})(#,#)', body, interceptor); |
+ */ |
+ String functionName = '$className\$$name'; |
+ var body = |
+ '(function(i) {' |
+ ' function $functionName(o){return i.$name(o)}' |
+ ' return $functionName;' |
+ '})'; |
+ return JS('', '(function(b){return eval(b)})(#)(#)', body, interceptor); |
} |
_newInterceptGetterNoEvalFn(n, i) => JS('', |