| Index: dart/sdk/lib/_internal/compiler/implementation/js_backend/backend.dart
|
| diff --git a/dart/sdk/lib/_internal/compiler/implementation/js_backend/backend.dart b/dart/sdk/lib/_internal/compiler/implementation/js_backend/backend.dart
|
| index a72fe8d406af9b482cff9674cb71e852210b7b0d..980c52fcaccde3842ab439d94b2f322cb8913255 100644
|
| --- a/dart/sdk/lib/_internal/compiler/implementation/js_backend/backend.dart
|
| +++ b/dart/sdk/lib/_internal/compiler/implementation/js_backend/backend.dart
|
| @@ -1438,13 +1438,7 @@ class JavaScriptBackend extends Backend {
|
| if (mustRetainMetadata) return;
|
| compiler.log('Retaining metadata.');
|
| mustRetainMetadata = true;
|
| - for (LibraryElement library in compiler.libraries.values) {
|
| - if (retainMetadataOf(library)) {
|
| - for (Link link = library.metadata; !link.isEmpty; link = link.tail) {
|
| - link.head.ensureResolved(compiler);
|
| - }
|
| - }
|
| - }
|
| + compiler.libraries.values.forEach(retainMetadataOf);
|
| for (Dependency dependency in metadataInstantiatedTypes) {
|
| registerMetadataInstantiatedType(dependency.type, dependency.user);
|
| }
|
| @@ -1488,7 +1482,8 @@ class JavaScriptBackend extends Backend {
|
| if (mustRetainMetadata) hasRetainedMetadata = true;
|
| if (mustRetainMetadata && isNeededForReflection(element)) {
|
| for (MetadataAnnotation metadata in element.metadata) {
|
| - metadata.value.accept(new ConstantCopier(compiler.constantHandler));
|
| + metadata.ensureResolved(compiler)
|
| + .value.accept(new ConstantCopier(compiler.constantHandler));
|
| }
|
| return true;
|
| }
|
|
|