Chromium Code Reviews| Index: runtime/lib/mirrors_impl.dart |
| diff --git a/runtime/lib/mirrors_impl.dart b/runtime/lib/mirrors_impl.dart |
| index 838af66094bca44edbd6b662882145e3475d349e..e1ca90e75ac2e5e0be602e4743ece874628b2f7b 100644 |
| --- a/runtime/lib/mirrors_impl.dart |
| +++ b/runtime/lib/mirrors_impl.dart |
| @@ -898,6 +898,12 @@ class _LocalMethodMirrorImpl extends _LocalMirrorImpl |
| var _owner; |
| DeclarationMirror get owner { |
| + // For nested closures it is possible, that the mirror for the owner has not |
| + // been created yet. |
| + if (_owner == null) { |
| + _owner = _MethodMirror_owner(_reflectee); |
| + } |
| + // TODO(mlippautz): This will go away, as soon as lazy mirrors go away. |
|
siva
2013/07/18 20:32:34
Do you have an issue ID for this?
Michael Lippautz (Google)
2013/07/18 22:01:23
Created www.dartbug.com/11897
|
| if (_owner is! Mirror) { |
| _owner = _owner.resolve(mirrors); |
| } |
| @@ -977,6 +983,9 @@ class _LocalMethodMirrorImpl extends _LocalMirrorImpl |
| static String _MethodMirror_name(reflectee) |
| native "MethodMirror_name"; |
| + |
| + static dynamic _MethodMirror_owner(reflectee) |
| + native "MethodMirror_owner"; |
| } |
| class _LocalVariableMirrorImpl extends _LocalMirrorImpl |