Index: dart/sdk/lib/_internal/compiler/implementation/lib/mirrors_patch.dart |
diff --git a/dart/sdk/lib/_internal/compiler/implementation/lib/mirrors_patch.dart b/dart/sdk/lib/_internal/compiler/implementation/lib/mirrors_patch.dart |
index ffcef0aaa14649092eae8a3783f870ed1184801d..5c9b9376218cfa5ed12699bcb6dd61a9ea0c922e 100644 |
--- a/dart/sdk/lib/_internal/compiler/implementation/lib/mirrors_patch.dart |
+++ b/dart/sdk/lib/_internal/compiler/implementation/lib/mirrors_patch.dart |
@@ -4,7 +4,7 @@ |
// Patch library for dart:mirrors. |
-import 'dart:_foreign_helper' show JS; |
+import 'dart:_foreign_helper' show JS, JS_CURRENT_ISOLATE; |
import 'dart:_collection-dev' as _symbol_dev; |
import 'dart:_js_helper' show createInvocationMirror; |
import 'dart:_interceptors' show Interceptor; |
@@ -72,13 +72,13 @@ class _LibraryMirror extends _ObjectMirror implements LibraryMirror { |
InstanceMirror setField(Symbol fieldName, Object arg) { |
// TODO(ahe): This is extremely dangerous!!! |
- JS('void', r'$[#] = #', _n(fieldName), arg); |
+ JS('void', '#[#] = #', JS_CURRENT_ISOLATE(), _n(fieldName), arg); |
return _reflect(arg); |
} |
InstanceMirror getField(Symbol fieldName) { |
// TODO(ahe): This is extremely dangerous!!! |
- return _reflect(JS('', r'$[#]', _n(fieldName))); |
+ return _reflect(JS('', '#[#]', JS_CURRENT_ISOLATE(), _n(fieldName))); |
} |
Map<Symbol, MethodMirror> get functions { |
@@ -90,7 +90,8 @@ class _LibraryMirror extends _ObjectMirror implements LibraryMirror { |
_MethodMirror mirror = |
// TODO(ahe): Create accessor for accessing $. It is also |
// used in js_helper. |
- new _MethodMirror(symbol, JS('', r'$[#]', name), parameterCount); |
+ new _MethodMirror( |
+ symbol, JS('', '#[#]', JS_CURRENT_ISOLATE(), name), parameterCount); |
// TODO(ahe): Cache mirrors. |
result[symbol] = mirror; |
mirror._owner = this; |
@@ -306,14 +307,16 @@ class _ClassMirror extends _ObjectMirror implements ClassMirror { |
InstanceMirror setField(Symbol fieldName, Object arg) { |
// TODO(ahe): This is extremely dangerous!!! |
- JS('void', r'$[#] = #', '${_n(simpleName)}_${_n(fieldName)}', arg); |
+ JS('void', '#[#] = #', JS_CURRENT_ISOLATE(), |
+ '${_n(simpleName)}_${_n(fieldName)}', arg); |
return _reflect(arg); |
} |
InstanceMirror getField(Symbol fieldName) { |
// TODO(ahe): This is extremely dangerous!!! |
return _reflect( |
- JS('', r'$[#]', '${_n(simpleName)}_${_n(fieldName)}')); |
+ JS('', '#[#]', JS_CURRENT_ISOLATE(), |
+ '${_n(simpleName)}_${_n(fieldName)}')); |
} |
InstanceMirror newInstance(Symbol constructorName, |
@@ -323,7 +326,9 @@ class _ClassMirror extends _ObjectMirror implements ClassMirror { |
throw new UnsupportedError('Named arguments are not implemented'); |
} |
String constructorName = '${_n(simpleName)}\$${_n(constructorName)}'; |
- return _reflect(JS('', r'$[#].apply($, #)', constructorName, |
+ return _reflect(JS('', r'#[#].apply(#, #)', JS_CURRENT_ISOLATE(), |
+ constructorName, |
+ JS_CURRENT_ISOLATE(), |
new List.from(positionalArguments))); |
} |