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) { |