61bae883ed
If we don't have it, for example for a nested closure, we set it null and construct it lazily at access time.
Example:
outer() {
inner() {}
var closureMirror = reflect(inner);
print(closureMirror.function.owner); // Should be a MethodMirror on outer, that is constructed lazily.
}
Since we need to be able to construct the chain of owners (back up to library), we need to handle all cases in the lazy creation.
The CL also adds wrappers that can be called with native objects. At some point these wrapper will create the mirrors without referring to the ones using embedded API.
BUG=
R=asiva@google.com
Review URL: https://codereview.chromium.org//19579006
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25186 260f80e4-7a28-3924-810f-c04153c831b5