Chromium Code Reviews| Index: runtime/lib/mirrors_impl.dart |
| =================================================================== |
| --- runtime/lib/mirrors_impl.dart (revision 25169) |
| +++ runtime/lib/mirrors_impl.dart (working copy) |
| @@ -1120,7 +1120,14 @@ |
| static ClassMirror makeLocalClassMirror(Type key) |
| native "Mirrors_makeLocalClassMirror"; |
| + static Expando<ClassMirror> classMirrorCache = new Expando(); |
|
Ivan Posva
2013/07/18 20:41:46
If you don't mind, can you please give this Expand
rmacnak
2013/07/18 20:49:29
Done.
|
| static ClassMirror reflectClass(Type key) { |
| - return makeLocalClassMirror(key); |
| + var classMirror = classMirrorCache[key]; |
| + if (classMirror != null) { |
|
Ivan Posva
2013/07/18 20:41:46
How about avoiding duplicate returns:
if (classMi
rmacnak
2013/07/18 20:49:29
Done.
|
| + return classMirror; |
| + } |
| + classMirror = makeLocalClassMirror(key); |
| + classMirrorCache[key] = classMirror; |
| + return classMirror; |
| } |
| } |