Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(14)

Unified Diff: sdk/lib/_internal/compiler/js_lib/js_mirrors.dart

Issue 562853002: Recompute librariesByName after loading a deferred library. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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;

Powered by Google App Engine
This is Rietveld 408576698