Chromium Code Reviews| Index: sdk/lib/_internal/compiler/js_lib/js_mirrors.dart |
| diff --git a/sdk/lib/_internal/compiler/js_lib/js_mirrors.dart b/sdk/lib/_internal/compiler/js_lib/js_mirrors.dart |
| index 3ff978985ee12103d4ce7d14321962885c4c89b2..a17fc1ea5fb9b92a96c2e6449c87799feb33162e 100644 |
| --- a/sdk/lib/_internal/compiler/js_lib/js_mirrors.dart |
| +++ b/sdk/lib/_internal/compiler/js_lib/js_mirrors.dart |
| @@ -48,7 +48,8 @@ import 'dart:_js_helper' show |
| runtimeTypeToString, |
| setRuntimeTypeInfo, |
| throwInvalidReflectionError, |
| - TypeImpl; |
| + TypeImpl, |
| + librariesUpdatedHook; |
| import 'dart:_interceptors' show |
| Interceptor, |
| @@ -97,8 +98,15 @@ class JsMirrorSystem implements MirrorSystem { |
| new JsTypeMirror(const Symbol('dynamic')); |
| static final JsTypeMirror _voidType = new JsTypeMirror(const Symbol('void')); |
| - static final Map<String, List<LibraryMirror>> librariesByName = |
| - computeLibrariesByName(); |
| + static Map<String, List<LibraryMirror>> _librariesByName; |
| + |
| + static Map<String, List<LibraryMirror>> get librariesByName { |
| + if (_librariesByName == null) { |
| + _librariesByName = computeLibrariesByName(); |
| + librariesUpdatedHook = () => _librariesByName = computeLibrariesByName(); |
|
floitsch
2014/09/11 09:01:27
() => _librariesByName = null.
When there are sev
sigurdm
2014/09/11 12:06:44
Done.
|
| + } |
| + return _librariesByName; |
| + } |
| Map<Uri, LibraryMirror> get libraries { |
| if (_cachedLibraries != null) return _cachedLibraries; |