| Index: runtime/lib/mirrors_impl.dart
|
| diff --git a/runtime/lib/mirrors_impl.dart b/runtime/lib/mirrors_impl.dart
|
| index c64be5de39f23c626b4a5bbd806b34335d96d1ad..0c7b0bba81290769b4fa72c0bc7599125024a47b 100644
|
| --- a/runtime/lib/mirrors_impl.dart
|
| +++ b/runtime/lib/mirrors_impl.dart
|
| @@ -371,6 +371,25 @@ abstract class _LocalObjectMirror extends _LocalMirror implements ObjectMirror {
|
| this._invokeSetter(_reflectee, _n(memberName), value);
|
| return reflect(value);
|
| }
|
| +
|
| + delegate(Invocation invocation) {
|
| + if (invocation.isMethod) {
|
| + return this.invoke(invocation.memberName,
|
| + invocation.positionalArguments,
|
| + invocation.namedArguments).reflectee;
|
| + }
|
| + if (invocation.isGetter) {
|
| + return this.getField(invocation.memberName).reflectee;
|
| + }
|
| + if (invocation.isSetter) {
|
| + var unwrapped = _n(invocation.memberName);
|
| + var withoutEqual = _s(unwrapped.substring(0, unwrapped.length - 1));
|
| + var arg = invocation.positionalArguments[0];
|
| + this.setField(withoutEqual, arg).reflectee;
|
| + return arg;
|
| + }
|
| + throw "UNREACHABLE";
|
| + }
|
| }
|
|
|
| class _LocalInstanceMirror extends _LocalObjectMirror
|
| @@ -393,25 +412,6 @@ class _LocalInstanceMirror extends _LocalObjectMirror
|
|
|
| get reflectee => _reflectee;
|
|
|
| - delegate(Invocation invocation) {
|
| - if (invocation.isMethod) {
|
| - return this.invoke(invocation.memberName,
|
| - invocation.positionalArguments,
|
| - invocation.namedArguments).reflectee;
|
| - }
|
| - if (invocation.isGetter) {
|
| - return this.getField(invocation.memberName).reflectee;
|
| - }
|
| - if (invocation.isSetter) {
|
| - var unwrapped = _n(invocation.memberName);
|
| - var withoutEqual = _s(unwrapped.substring(0, unwrapped.length - 1));
|
| - var arg = invocation.positionalArguments[0];
|
| - this.setField(withoutEqual, arg).reflectee;
|
| - return arg;
|
| - }
|
| - throw "UNREACHABLE";
|
| - }
|
| -
|
| String toString() => 'InstanceMirror on ${Error.safeToString(_reflectee)}';
|
|
|
| bool operator ==(other) {
|
|
|