Chromium Code Reviews| Index: dart/sdk/lib/_internal/compiler/implementation/lib/js_mirrors.dart |
| diff --git a/dart/sdk/lib/_internal/compiler/implementation/lib/js_mirrors.dart b/dart/sdk/lib/_internal/compiler/implementation/lib/js_mirrors.dart |
| index 2a50b31d9e3cbdc7134ecfe5ac969edf9f19b1e9..c06e25150f0d8e269fa69d5f5cfa776a9d980401 100644 |
| --- a/dart/sdk/lib/_internal/compiler/implementation/lib/js_mirrors.dart |
| +++ b/dart/sdk/lib/_internal/compiler/implementation/lib/js_mirrors.dart |
| @@ -291,14 +291,16 @@ class JsInstanceMirror extends JsObjectMirror implements InstanceMirror { |
| } |
| InstanceMirror setField(Symbol fieldName, Object arg) { |
|
kasperl
2013/06/06 08:21:42
How do we know that this returns an InstanceMirror
ahe
2013/06/06 11:53:00
The method "reflect" always returns an InstanceMir
|
| - _invoke( |
| - fieldName, JSInvocationMirror.SETTER, 'set\$${n(fieldName)}', [arg]); |
| + String reflectiveName = '${n(fieldName)}='; |
| + String mangledName = JsMirrorSystem.reflectiveNames[reflectiveName]; |
| + _invoke(s(reflectiveName), JSInvocationMirror.SETTER, mangledName, [arg]); |
| return reflect(arg); |
| } |
| InstanceMirror getField(Symbol fieldName) { |
| - return _invoke( |
| - fieldName, JSInvocationMirror.GETTER, 'get\$${n(fieldName)}', []); |
| + String reflectiveName = n(fieldName); |
| + String mangledName = JsMirrorSystem.reflectiveNames[reflectiveName]; |
| + return _invoke(fieldName, JSInvocationMirror.GETTER, mangledName, []); |
| } |
| delegate(Invocation invocation) { |