From 04624f21813be8efc5bffaa8daf0029e777958a2 Mon Sep 17 00:00:00 2001 From: James deBoer Date: Thu, 3 Jul 2014 07:23:46 -0700 Subject: [PATCH] fix(registry_dynamic): Do not use HashMaps. I saw failures due to these HashMaps in some apps but don't have a test case in Angular for this failure yet. --- lib/core/registry_dynamic.dart | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/core/registry_dynamic.dart b/lib/core/registry_dynamic.dart index d060ab1ff..1f24e0772 100644 --- a/lib/core/registry_dynamic.dart +++ b/lib/core/registry_dynamic.dart @@ -42,7 +42,7 @@ class DynamicMetadataExtractor implements MetadataExtractor { var match; var fieldMetadata = fieldMetadataExtractor(type); if (fieldMetadata.isNotEmpty) { - var newMap = annotation.map == null ? new HashMap() : new HashMap.from(annotation.map); + var newMap = annotation.map == null ? {} : new Map.from(annotation.map); fieldMetadata.forEach((String fieldName, DirectiveAnnotation ann) { var attrName = ann.attrName; if (newMap.containsKey(attrName)) { @@ -61,11 +61,11 @@ class DynamicMetadataExtractor implements MetadataExtractor { _fieldMetadataCache.putIfAbsent(type, () => _fieldMetadataExtractor(reflectType(type))); Map _fieldMetadataExtractor(ClassMirror cm) { - var fields = new HashMap(); + var fields = {}; if(cm.superclass != null) { fields.addAll(_fieldMetadataExtractor(cm.superclass)); } else { - fields = new HashMap(); + fields = {}; } Map declarations = cm.declarations; declarations.forEach((symbol, dm) {