Chromium Code Reviews
DescriptionIf we have the owner mirror at creation time (which right now is a lazy mirror), we will use it. Eventually lazy mirrors will go away and we will not have to resolve() in dart code anymore.
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
Committed: https://code.google.com/p/dart/source/detail?r=25186
Patch Set 1 #Patch Set 2 : #Patch Set 3 : #Patch Set 4 : #Patch Set 5 : #
Total comments: 10
Patch Set 6 : #Patch Set 7 : Added missing Dart_Scopes. #Patch Set 8 : #
Total comments: 14
Patch Set 9 : Final signatures for non-api functions; Renamed old ones #
Total comments: 4
Patch Set 10 : #
Messages
Total messages: 7 (0 generated)
|
|||||||||||||||||||||||||||||||||||||